{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 2.4 综合案例实战 - 股票数据读取与K线图绘制"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 2.4.1 初步尝试 - 股票数据读取与可视化"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "1.股票数据库：Tushare库的安装与使用"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "首先推荐通过PIP安装法来安装可以调用股价数据的Tushare库（Tushare库官方地址为：http://tushare.org/\n",
    "以Windows系统为例，具体方法是：通过Win + R组合键调出运行框，输入cmd后回车，然后在弹出框中输入pip install tushare后按一下Enter回车键的方法来进行安装。如果在1.2.3节讲到的Jupyter Notebook编辑器中安装的话，只需要在代码框中输入如下代码然后运行该行代码框即可（注意是英文格式下的!）：\n",
    "!pip install tushare"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "本接口即将停止更新，请尽快使用Pro版接口：https://tushare.pro/document/2\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>open</th>\n",
       "      <th>close</th>\n",
       "      <th>high</th>\n",
       "      <th>low</th>\n",
       "      <th>volume</th>\n",
       "      <th>code</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2009-01-05</td>\n",
       "      <td>-0.582</td>\n",
       "      <td>-0.462</td>\n",
       "      <td>-0.462</td>\n",
       "      <td>-0.682</td>\n",
       "      <td>936048.88</td>\n",
       "      <td>000002</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2009-01-06</td>\n",
       "      <td>-0.482</td>\n",
       "      <td>-0.262</td>\n",
       "      <td>-0.212</td>\n",
       "      <td>-0.552</td>\n",
       "      <td>1216831.18</td>\n",
       "      <td>000002</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2009-01-07</td>\n",
       "      <td>-0.232</td>\n",
       "      <td>-0.302</td>\n",
       "      <td>-0.102</td>\n",
       "      <td>-0.302</td>\n",
       "      <td>834829.31</td>\n",
       "      <td>000002</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2009-01-08</td>\n",
       "      <td>-0.412</td>\n",
       "      <td>-0.262</td>\n",
       "      <td>-0.162</td>\n",
       "      <td>-0.482</td>\n",
       "      <td>837661.70</td>\n",
       "      <td>000002</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2009-01-09</td>\n",
       "      <td>-0.262</td>\n",
       "      <td>-0.272</td>\n",
       "      <td>-0.152</td>\n",
       "      <td>-0.352</td>\n",
       "      <td>626815.66</td>\n",
       "      <td>000002</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         date   open  close   high    low      volume    code\n",
       "0  2009-01-05 -0.582 -0.462 -0.462 -0.682   936048.88  000002\n",
       "1  2009-01-06 -0.482 -0.262 -0.212 -0.552  1216831.18  000002\n",
       "2  2009-01-07 -0.232 -0.302 -0.102 -0.302   834829.31  000002\n",
       "3  2009-01-08 -0.412 -0.262 -0.162 -0.482   837661.70  000002\n",
       "4  2009-01-09 -0.262 -0.272 -0.152 -0.352   626815.66  000002"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 我们只需要通过如下2行代码便可获取到股票基本数据：\n",
    "import tushare as ts\n",
    "df = ts.get_k_data('000002', start='2009-01-01', end='2019-01-01')\n",
    "#ts.set_token('ce003c4674a99c22aef97062e6f3bfaf01098fa01b70518f********')\n",
    "#pro = ts.pro_api()\n",
    "#df = pro.daily(ts_code='000001.SZ', start_date='20180701', end_date='20180718')\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 此时如果想要将股票数据获取到Excel文件中，则可以使用2.2.2节相关知识点，代码如下：\n",
    "df.to_excel('股价数据.xlsx', index=False)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "2.绘制股价走势图"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "已经有了股价数据后，我们可以通过可视化的方式将其展示出来，这里我们首先利用2.2.1节的补充知识点中的set_index()函数将日期设置为行索引，这样方便等会直接用pandas库进行绘图，代码如下："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>open</th>\n",
       "      <th>close</th>\n",
       "      <th>high</th>\n",
       "      <th>low</th>\n",
       "      <th>volume</th>\n",
       "      <th>code</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2009-01-05</th>\n",
       "      <td>-0.582</td>\n",
       "      <td>-0.462</td>\n",
       "      <td>-0.462</td>\n",
       "      <td>-0.682</td>\n",
       "      <td>936048.88</td>\n",
       "      <td>000002</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2009-01-06</th>\n",
       "      <td>-0.482</td>\n",
       "      <td>-0.262</td>\n",
       "      <td>-0.212</td>\n",
       "      <td>-0.552</td>\n",
       "      <td>1216831.18</td>\n",
       "      <td>000002</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2009-01-07</th>\n",
       "      <td>-0.232</td>\n",
       "      <td>-0.302</td>\n",
       "      <td>-0.102</td>\n",
       "      <td>-0.302</td>\n",
       "      <td>834829.31</td>\n",
       "      <td>000002</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2009-01-08</th>\n",
       "      <td>-0.412</td>\n",
       "      <td>-0.262</td>\n",
       "      <td>-0.162</td>\n",
       "      <td>-0.482</td>\n",
       "      <td>837661.70</td>\n",
       "      <td>000002</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2009-01-09</th>\n",
       "      <td>-0.262</td>\n",
       "      <td>-0.272</td>\n",
       "      <td>-0.152</td>\n",
       "      <td>-0.352</td>\n",
       "      <td>626815.66</td>\n",
       "      <td>000002</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             open  close   high    low      volume    code\n",
       "date                                                      \n",
       "2009-01-05 -0.582 -0.462 -0.462 -0.682   936048.88  000002\n",
       "2009-01-06 -0.482 -0.262 -0.212 -0.552  1216831.18  000002\n",
       "2009-01-07 -0.232 -0.302 -0.102 -0.302   834829.31  000002\n",
       "2009-01-08 -0.412 -0.262 -0.162 -0.482   837661.70  000002\n",
       "2009-01-09 -0.262 -0.272 -0.152 -0.352   626815.66  000002"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.set_index('date', inplace=True)\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "通过2.3.1节补充知识点中pandas绘图的相关知识点来进行图形绘制，代码如下。因为在pandas库中plot()函数默认绘制的是折线图，所以直接写plot()即可，不需要传入kind参数。此外在金融领域，通常用收盘价作为当天价格来绘制股价走势图，因此这里选择的是close这一列。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='date'>"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df['close'].plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "如果想给图片加一个标题，在pandas库中使用可以在plot()可以在里面传入一个title参数，代码如下，注意因为标题是中文内容，所以要写2.3.2节最后讲到的两行代码防止中文乱码。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:title={'center':'万科股价走势图'}, xlabel='date'>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签\n",
    "df['close'].plot(title='万科股价走势图')    "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**补充知识点：直接使用Matplotlib库画图的注意点**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "上面使用的是pandas库中的plot()函数，pandas库其实是集成了Matplotlib库的一些功能，如果有的读者想直接用Matplotlib库进行股价走势画图，可以采用如下代码："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "本接口即将停止更新，请尽快使用Pro版接口：https://tushare.pro/document/2\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 通过Tushare库获取股价数据\n",
    "import tushare as ts\n",
    "df = ts.get_k_data('000002', start='2009-01-01', end='2019-01-01')\n",
    "\n",
    "# 要注意的细节：调整日期格式使得横坐标显示清晰\n",
    "from datetime import datetime\n",
    "df['date'] = df['date'].apply(lambda x:datetime.strptime(x,'%Y-%m-%d'))\n",
    "\n",
    "# 绘制折线图\n",
    "import matplotlib.pyplot as plt\n",
    "plt.plot(df['date'], df['close'])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 2.4.2 综合实战 - 股票K线图绘制"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**1.股票K线图基本知识**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "一个实际中的股票K线图如下图所示（这个是“贵州茅台”股票的日线级别的K线图）：\n",
    "![图片解释](https://uploader.shimo.im/f/wiLdVEhqGd4KndWk.png)\n",
    "\n",
    "没有接触过股票的读者可能会被里面的各个柱状图和折线图搞得一头雾水，而这些图形其实都是通过一些很基础的数据绘制而成，这一节便主要来科普下股票K线图的基本知识。\n",
    "这些柱状图，通常称之为“K线图”，是由股票的四个价格来绘制的：开盘价（当天上午9点半开始交易时的价格）、收盘价（当天下午3点结束交易时的价格）、最高价（当天股价波动中的最高价）、最低价（当天股价波动中的最低价），简称“高、开、低、收”四个价格。\n",
    "如下图所示，根据这四个价格便可以绘制出红色和绿色的K线图，因为形似蜡烛，因此也常被称之为蜡烛图。K线图分为两种，如果当天的收盘价高于开盘价，也就是说当天的价格上涨，则称之为阳线，通常绘制成红色；反之如果当天的收盘价低于开盘价，也就是说当天的价格下跌，则称之为阴线，通常绘制成绿色。补充说一句，在美国，反而是红色代表跌，绿色代表涨。\n",
    "\n",
    "![图片解释](https://uploader.shimo.im/f/blJRkjs9ejABHFgE.png!thumbnail)\n",
    "        \n",
    "这里再解释下均线图，也就是那些折线图的绘制原理。均线分为5日均线（通常称之为MA5）、10日均线（通常称之为MA10）、20日均线（通常称之为MA20）等，其原理就是将股价的收盘价求均值，例如5日均线就是最近连续5个交易日收盘价之和的平均值，具体的计算公式如下，其中Close1为当天的收盘价，Close2为前一天的收盘价，其余依次类推。\n",
    "MA5 = (Close1 + Close2 + Close3 + Close4 + Close5)/5\n",
    "\n",
    "把每个5日均线的值连成一条平滑的曲线就是5日均线图了，同理10日均线图和20日均线图也是类似的原理，这些均线图也就是我们在这一小节最开始看到图中的那些折线图。\n",
    "了解了股票K线图的基本知识后，下面我们就来进行K线图的绘制工作。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**2.绘制股票K线图**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(1) 安装绘制K线图的相关库：mpl_finance库"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "首先需要安装绘制K线图的相关库：mpl_finance库，其安装办法稍微麻烦一点，推荐通过PIP安装法安装，以Windows系统为例，具体方法是：通过Win + R组合键调出运行框，输入cmd后回车，然后在弹出框中输入如下内容，按一下Enter回车键进行安装：\n",
    "\n",
    "pip install https://github.com/matplotlib/mpl_finance/archive/master.zip"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "如果是在在1.2.3节讲到的Jupyter Notebook中安装，则在pip前面加一个英文的感叹号“!”然后运行该代码块即可。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 通过如下代码，可以在Jupyter Notebook中安装。（需取消注释）\n",
    "# !pip install https://github.com/matplotlib/mpl_finance/archive/master.zip"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(2) 引入绘图相关库"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 首先引入一些绘图需要用到的库，代码如下：\n",
    "import tushare as ts\n",
    "import matplotlib.pyplot as plt\n",
    "import mpl_finance as mpf\n",
    "import seaborn as sns\n",
    "sns.set()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "第一个引入2.4.1节讲到的Tushare库，第二引入2.3.1节讲到的Matplotlib库在；第三个引入刚刚安装的mpl_finance库；第四个seaborn库是一个图表美化库，通过sns.set()即可激活，如果是通过1.2.1节Anaconda安装的Python，那么就自带该库了，无需额外安装。上面的代码直接拿去运行即可。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(3) 通过Tushare库获取股票基本数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "本接口即将停止更新，请尽快使用Pro版接口：https://tushare.pro/document/2\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>open</th>\n",
       "      <th>close</th>\n",
       "      <th>high</th>\n",
       "      <th>low</th>\n",
       "      <th>volume</th>\n",
       "      <th>code</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>99</th>\n",
       "      <td>2019-06-03</td>\n",
       "      <td>23.498</td>\n",
       "      <td>23.128</td>\n",
       "      <td>23.708</td>\n",
       "      <td>22.968</td>\n",
       "      <td>317567.0</td>\n",
       "      <td>000002</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>100</th>\n",
       "      <td>2019-06-04</td>\n",
       "      <td>23.158</td>\n",
       "      <td>22.988</td>\n",
       "      <td>23.228</td>\n",
       "      <td>22.938</td>\n",
       "      <td>203260.0</td>\n",
       "      <td>000002</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>101</th>\n",
       "      <td>2019-06-05</td>\n",
       "      <td>23.328</td>\n",
       "      <td>23.718</td>\n",
       "      <td>23.968</td>\n",
       "      <td>23.318</td>\n",
       "      <td>576164.0</td>\n",
       "      <td>000002</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>102</th>\n",
       "      <td>2019-06-06</td>\n",
       "      <td>23.698</td>\n",
       "      <td>23.808</td>\n",
       "      <td>23.978</td>\n",
       "      <td>23.608</td>\n",
       "      <td>333792.0</td>\n",
       "      <td>000002</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>103</th>\n",
       "      <td>2019-06-10</td>\n",
       "      <td>23.978</td>\n",
       "      <td>24.498</td>\n",
       "      <td>24.738</td>\n",
       "      <td>23.858</td>\n",
       "      <td>527547.0</td>\n",
       "      <td>000002</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           date    open   close    high     low    volume    code\n",
       "99   2019-06-03  23.498  23.128  23.708  22.968  317567.0  000002\n",
       "100  2019-06-04  23.158  22.988  23.228  22.938  203260.0  000002\n",
       "101  2019-06-05  23.328  23.718  23.968  23.318  576164.0  000002\n",
       "102  2019-06-06  23.698  23.808  23.978  23.608  333792.0  000002\n",
       "103  2019-06-10  23.978  24.498  24.738  23.858  527547.0  000002"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 通过Tushare库获取股票代码为“000002”的股票“万科A”在2019-06-01至2019-09-30的股价数据，代码如下：\n",
    "df = ts.get_k_data('000002','2019-06-01', '2019-09-30')\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(4) 日期格式调整及表格转换"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "因为绘制K线图的candlestick_ochl()函数只能接收特定格式的日期格式，以及数组格式的内容，所以我们需要将原来文本类型的日期格式调整一下，代码如下：\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[18050.0, 23.498, 23.128, 23.708, 22.968, 317567.0, '000002'],\n",
       "       [18051.0, 23.158, 22.988, 23.228, 22.938, 203260.0, '000002'],\n",
       "       [18052.0, 23.328, 23.718, 23.968, 23.318, 576164.0, '000002'],\n",
       "       [18053.0, 23.698, 23.808, 23.978, 23.608, 333792.0, '000002'],\n",
       "       [18057.0, 23.978, 24.498, 24.738, 23.858, 527547.0, '000002']],\n",
       "      dtype=object)"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 导入日期格式调整涉及的两个库\n",
    "from matplotlib.pylab import date2num\n",
    "import datetime\n",
    "\n",
    "# 对tushare获取到的日期数据转换成candlestick_ohlc()函数可读取的数字格式\n",
    "def date_to_num(dates):\n",
    "    num_time = []\n",
    "    for date in dates:\n",
    "        date_time = datetime.datetime.strptime(date,'%Y-%m-%d')\n",
    "        num_date = date2num(date_time)\n",
    "        num_time.append(num_date)\n",
    "    return num_time\n",
    "\n",
    "# 将DataFrame转换为二维数组，并利用date_to_num()函数转换日期\n",
    "df_arr = df.values  # 将DataFrame格式的数据，转换为array二维数组\n",
    "df_arr[:,0] = date_to_num(df_arr[:,0])  # 将原来日期格式的日期换成数字格式\n",
    "\n",
    "df_arr[0:5] # 查看此时的df_arr的前5项"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(5) 绘制K线图"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "转换好数据格式后，K线图的绘制就比较简单了，通过candlestick_ochl()函数便能够轻松的绘制K线图了，代码如下："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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vQpPHZcW7VUc6jl9km6TXOevymQymSKVBQAAgBwMdwQAAEgRIQ0AACBFhDQAAIAUEdIAAABSREgDAABIESENAAAgRYQ0AACAFBHSAAAAUkRIAwAASJFEQtrGjRujsbExGhsb44477oiIiO3bt8fSpUtjyZIlcffddx/3nDVr1sTf//3fD93+/ve/H1deeWUsXbo0Vq1aFb29vaOe69///d/j05/+dFx66aVx8803xzvvvBMRET/5yU9i5cqVccUVV8Ty5ctj9+7dE3r+oHvuuSfuu+++SdVDIZVSHWc7f1tbWyxatCiampqiqalp1DKXmqTbZf/+/UP12dTUFL/8y78c55133rifP5xrf+p1nO385XjtZ5N0e0VE7N69O6655ppoamqKa6+9Nl577bUJPX+Q18TU6zjb+SvpNRGRjjab6vMHeV1MvY6znb/cXhfFbJNsz+/p6YlrrrkmLrvssvjt3/7tOHjw4KjPK8p1nymy7373u5nPfOYzmYGBgczhw4cz1113XWbr1q2ZxYsXZ7q7uzNvv/125vOf/3zmH/7hHzKZTCbz4x//OLNq1arMueeem3nssccymUwmc/To0czixYsz//iP/5jJZDKZbdu2ZVatWjXq+RobGzM7duzIZDKZzLp16zIPPvhgJpPJZH7jN34j89BDD2UymUzmoYceytxwww0Tev6bb76ZWbduXebcc8/N3HvvvVOul3wqtToe7fyZTCazYcOGzNatW6dcH2mRlnYZdOTIkcyv//qvZ771rW9N6Pmu/Z+Zah1XyrWfTVra68tf/vLQ///mb/4m86UvfWlCz/ea+Jmp1nGlvyYymXS0WT7a3OviZ6Zax5Xwuih2m2Sr05UrV2Yef/zxTCaTyWzcuDFzxx13jPr8Ylz3Re9Ja2hoiLVr10ZNTU3MmDEj5s6dG11dXfHBD34wzjjjjJg+fXosXbo0vv3tb0dExNatW+MTn/hEfPKTnxw6xuuvvx6HDh2KCy+8MCIiPv7xj0dHR0ccPnx4xLlee+21OHToUCxYsCAiIj796U/Ht7/97Thw4ED8x3/8RyxfvjwiIq688sq48cYbjytrtudHRDzzzDNx5plnxuc+97l8Vk9elFIdZzt/RMS//uu/RltbWyxdujS+/OUvxxtvvJGP6klMGtpluMceeyze8573xNKlS48rq2u/8HWc7fwR5XftZ5OW9jp69Gj09/dHRMRbb70VJ5xwwnFl9ZoofB1nO39E5bwmItLRZvloc6+Ld021jrOdP6K8XhfFbJNsz3/77bfjn/7pn+LSSy+NiNE/1yOKd90XPaTNmzdv6Jfq6uqK9vb2qKqqioaGhqGfOeWUU2Lv3r0REbFixYr41V/91RHHeN/73hcnnnhidHR0RETEtm3b4u23347XX399xM/95Cc/GXHchoaG2Lt3b/zoRz+K008/PVpbW+PKK6+M5ubmmDFjxnFlzfb8iIgrrrgiVq5cGdXV1VOojcIopTrOdv7BY33hC1+Ib33rW3HaaafFhg0bJl4ZKZKGdhl05MiR+PM///P40pe+NGpZXfuFr+Ns5x88Vjld+9mkpb1uuOGG+PrXvx6/+Iu/GH/1V38Vv/mbv3lcWb0mCl/H2c4/eKxKeE1EpKPN8tHmXhfvmmodZzv/4LHK5XVRzDbJ9vzXX389amtrY/r06RFx/Of6oGJd94ktHLJr1674/Oc/H2vWrIkzzjgjqqqqhh7LZDIjbh+rqqoq7r333vja174WV1xxRfT19cV73/ve40LA0aNHRz3uO++8E//2b/8WF154YTz22GPxiU98ItauXXvcebI9v1SUQh2P5atf/WosXLgwqqqqYsWKFfH8889P6PlplWS7DHr++efjzDPPjLPPPnvU87j2C1/HYynXaz+bpNvrK1/5SmzYsCGef/75+L3f+7344he/GJlMZtzPLwWlUMdjqbTXRESybZav98G0K4U6Hks5vi6K0SbZjHb80c5XrOt+et6POA6dnZ3R3Nwc69evj8bGxnjxxRdHTOzr7e2NU045ZcxjTJ8+Pb7xjW9ERMT+/fvjT//0T+Ptt9+OpqamiHg3bd92220jjrtv37445ZRToqGhIU466aT4+Mc/HhERl19+efzBH/xB7N27N1auXJnz+aWgVOr4L/7iL0Y9d19fXzz22GPx2c9+NiLefQGk8du4iUq6XQY9/fTT8alPfWrotmt/pGLUcaVd+9kk3V4HDhyIV199NS6++OKIiLj00kvj1ltvjZ6envjCF76Q8/mloFTq2GviZ5Jus3w8P+1KpY4r6XVRrDbJVqfvf//7o6+vL44cORLV1dVD50vqb6Sih7Q9e/bE6tWr4+67746LLrooIiLmz58fP/zhD+O///u/Y/bs2fH444/HlVdeOeZx1q9fH7fddluce+658dd//ddx2WWXxc/93M/Fli1bRvzczJkzo7OzMxYuXBhbtmyJj33sYzFnzpw49dRT47nnnovFixfHs88+G+ecc864n592pVbHoznxxBPjL//yL+O8886L+fPnxwMPPBCXXHLJ5CslBdLQLoP+5V/+ZcRwI9f+SMWq49GU47WfTRra633ve1/MnDkz/vmf/znOP//86OzsjJNOOik+8IEPeE0MU6w6Hk0lvSYi0tFm+Xh+mpVaHY+m3F4XxW6T0cyYMSPOP//8eOKJJ2Lp0qWxefPm+NjHPpbYdV/0kLZp06YYGBiI1tbWofuWL18era2tcf3118fAwEAsXrw4LrvssjGPc9ttt8Wtt94ab731Vpx99tnxh3/4h6P+3J133hktLS3R398f55xzTlx33XUREXHffffFrbfeGn/8x38ctbW1I8oznuenWanV8Wiqq6vjnnvuidtuuy0OHToUZ5555tByrKUqLe0SEfGjH/0oTj311DHP49ovfB2Pphyv/WzS0F5VVVWxcePG+P3f//04dOhQnHTSSVmXTfaaKHwdj6aSXhMR6WizfDw/zUqtjkdTbq+LYrdJNrfeemusXbs2/uzP/ixOO+20uOuuu0b9uWJc91WZiQwKBwAAoKASWzgEAACA4wlpAAAAKSKkAQAApIiQBgAAkCJCGgAAQIoIaQAAACkipAEAAKSIkAYAAJAi/w/D2ygAow1KfAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 1080x432 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(figsize=(15,6))\n",
    "mpf.candlestick_ochl(ax, df_arr, width=0.6, colorup='r', colordown='g', alpha=1.0)\n",
    "plt.grid(True)  # 绘制网格\n",
    "ax.xaxis_date()  # 设置x轴的刻度为日期"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**candlestick_ochl()函数的参数：**\n",
    "\n",
    "    ax：绘图Axes的实例，也就是画布中的子图；\n",
    "\n",
    "    df_arr：股价历史数据；\n",
    "\n",
    "    width：图像中红绿矩形的宽度；\n",
    "\n",
    "    colorup：收盘价格大于开盘价格时矩形的颜色；\n",
    "\n",
    "    colordown：收盘价格低于开盘价格时矩形的颜色；\n",
    "\n",
    "    alpha：矩形的颜色的透明度；"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(6) 绘制K线图及均线图\n",
    "\n",
    "有了K线图之后，我们再来补上均线图，这里我们主要补上5日均线和10日均线图，首先我们通过如下代码构造5日均线和10日均线数据："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>open</th>\n",
       "      <th>close</th>\n",
       "      <th>high</th>\n",
       "      <th>low</th>\n",
       "      <th>volume</th>\n",
       "      <th>code</th>\n",
       "      <th>MA5</th>\n",
       "      <th>MA10</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>99</th>\n",
       "      <td>2019-06-03</td>\n",
       "      <td>23.498</td>\n",
       "      <td>23.128</td>\n",
       "      <td>23.708</td>\n",
       "      <td>22.968</td>\n",
       "      <td>317567.0</td>\n",
       "      <td>000002</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>100</th>\n",
       "      <td>2019-06-04</td>\n",
       "      <td>23.158</td>\n",
       "      <td>22.988</td>\n",
       "      <td>23.228</td>\n",
       "      <td>22.938</td>\n",
       "      <td>203260.0</td>\n",
       "      <td>000002</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>101</th>\n",
       "      <td>2019-06-05</td>\n",
       "      <td>23.328</td>\n",
       "      <td>23.718</td>\n",
       "      <td>23.968</td>\n",
       "      <td>23.318</td>\n",
       "      <td>576164.0</td>\n",
       "      <td>000002</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>102</th>\n",
       "      <td>2019-06-06</td>\n",
       "      <td>23.698</td>\n",
       "      <td>23.808</td>\n",
       "      <td>23.978</td>\n",
       "      <td>23.608</td>\n",
       "      <td>333792.0</td>\n",
       "      <td>000002</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>103</th>\n",
       "      <td>2019-06-10</td>\n",
       "      <td>23.978</td>\n",
       "      <td>24.498</td>\n",
       "      <td>24.738</td>\n",
       "      <td>23.858</td>\n",
       "      <td>527547.0</td>\n",
       "      <td>000002</td>\n",
       "      <td>23.628</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>104</th>\n",
       "      <td>2019-06-11</td>\n",
       "      <td>24.558</td>\n",
       "      <td>25.018</td>\n",
       "      <td>25.138</td>\n",
       "      <td>24.538</td>\n",
       "      <td>449630.0</td>\n",
       "      <td>000002</td>\n",
       "      <td>24.006</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>105</th>\n",
       "      <td>2019-06-12</td>\n",
       "      <td>24.928</td>\n",
       "      <td>24.688</td>\n",
       "      <td>24.978</td>\n",
       "      <td>24.498</td>\n",
       "      <td>269372.0</td>\n",
       "      <td>000002</td>\n",
       "      <td>24.346</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>106</th>\n",
       "      <td>2019-06-13</td>\n",
       "      <td>24.688</td>\n",
       "      <td>24.518</td>\n",
       "      <td>24.738</td>\n",
       "      <td>24.268</td>\n",
       "      <td>250431.0</td>\n",
       "      <td>000002</td>\n",
       "      <td>24.506</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>107</th>\n",
       "      <td>2019-06-14</td>\n",
       "      <td>24.698</td>\n",
       "      <td>24.618</td>\n",
       "      <td>24.978</td>\n",
       "      <td>24.468</td>\n",
       "      <td>311417.0</td>\n",
       "      <td>000002</td>\n",
       "      <td>24.668</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>108</th>\n",
       "      <td>2019-06-17</td>\n",
       "      <td>24.488</td>\n",
       "      <td>24.598</td>\n",
       "      <td>24.888</td>\n",
       "      <td>24.438</td>\n",
       "      <td>171672.0</td>\n",
       "      <td>000002</td>\n",
       "      <td>24.688</td>\n",
       "      <td>24.158</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>109</th>\n",
       "      <td>2019-06-18</td>\n",
       "      <td>24.768</td>\n",
       "      <td>24.388</td>\n",
       "      <td>24.798</td>\n",
       "      <td>24.088</td>\n",
       "      <td>219162.0</td>\n",
       "      <td>000002</td>\n",
       "      <td>24.562</td>\n",
       "      <td>24.284</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>110</th>\n",
       "      <td>2019-06-19</td>\n",
       "      <td>24.888</td>\n",
       "      <td>24.418</td>\n",
       "      <td>25.068</td>\n",
       "      <td>24.278</td>\n",
       "      <td>390157.0</td>\n",
       "      <td>000002</td>\n",
       "      <td>24.508</td>\n",
       "      <td>24.427</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>111</th>\n",
       "      <td>2019-06-20</td>\n",
       "      <td>24.388</td>\n",
       "      <td>25.138</td>\n",
       "      <td>25.138</td>\n",
       "      <td>24.318</td>\n",
       "      <td>577484.0</td>\n",
       "      <td>000002</td>\n",
       "      <td>24.632</td>\n",
       "      <td>24.569</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>112</th>\n",
       "      <td>2019-06-21</td>\n",
       "      <td>25.088</td>\n",
       "      <td>24.998</td>\n",
       "      <td>25.208</td>\n",
       "      <td>24.808</td>\n",
       "      <td>492537.0</td>\n",
       "      <td>000002</td>\n",
       "      <td>24.708</td>\n",
       "      <td>24.688</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>113</th>\n",
       "      <td>2019-06-24</td>\n",
       "      <td>24.808</td>\n",
       "      <td>24.818</td>\n",
       "      <td>24.938</td>\n",
       "      <td>24.718</td>\n",
       "      <td>270128.0</td>\n",
       "      <td>000002</td>\n",
       "      <td>24.752</td>\n",
       "      <td>24.720</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           date    open   close    high     low    volume    code     MA5  \\\n",
       "99   2019-06-03  23.498  23.128  23.708  22.968  317567.0  000002     NaN   \n",
       "100  2019-06-04  23.158  22.988  23.228  22.938  203260.0  000002     NaN   \n",
       "101  2019-06-05  23.328  23.718  23.968  23.318  576164.0  000002     NaN   \n",
       "102  2019-06-06  23.698  23.808  23.978  23.608  333792.0  000002     NaN   \n",
       "103  2019-06-10  23.978  24.498  24.738  23.858  527547.0  000002  23.628   \n",
       "104  2019-06-11  24.558  25.018  25.138  24.538  449630.0  000002  24.006   \n",
       "105  2019-06-12  24.928  24.688  24.978  24.498  269372.0  000002  24.346   \n",
       "106  2019-06-13  24.688  24.518  24.738  24.268  250431.0  000002  24.506   \n",
       "107  2019-06-14  24.698  24.618  24.978  24.468  311417.0  000002  24.668   \n",
       "108  2019-06-17  24.488  24.598  24.888  24.438  171672.0  000002  24.688   \n",
       "109  2019-06-18  24.768  24.388  24.798  24.088  219162.0  000002  24.562   \n",
       "110  2019-06-19  24.888  24.418  25.068  24.278  390157.0  000002  24.508   \n",
       "111  2019-06-20  24.388  25.138  25.138  24.318  577484.0  000002  24.632   \n",
       "112  2019-06-21  25.088  24.998  25.208  24.808  492537.0  000002  24.708   \n",
       "113  2019-06-24  24.808  24.818  24.938  24.718  270128.0  000002  24.752   \n",
       "\n",
       "       MA10  \n",
       "99      NaN  \n",
       "100     NaN  \n",
       "101     NaN  \n",
       "102     NaN  \n",
       "103     NaN  \n",
       "104     NaN  \n",
       "105     NaN  \n",
       "106     NaN  \n",
       "107     NaN  \n",
       "108  24.158  \n",
       "109  24.284  \n",
       "110  24.427  \n",
       "111  24.569  \n",
       "112  24.688  \n",
       "113  24.720  "
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['MA5'] = df['close'].rolling(5).mean()\n",
    "df['MA10'] = df['close'].rolling(10).mean()\n",
    "\n",
    "df.head(15)  # 查看此时的前15行"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA3YAAAGECAYAAAB6aLK2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAACRjElEQVR4nOzdd3hc1Zn48e+909W7bFldtiX33o2NC8YFbNMMxBBIyJJkk5DibEI2Cdkfm+yy2VRasoFAgBAIYIwxtrExxr333lQty1bv0vT7+0NYuEi2ylTp/TyPH2tm7pz7zlxp5r73nPMeRdM0DSGEEEIIIYQQQUv1dwBCCCGEEEIIIbpHEjshhBBCCCGECHKS2AkhhBBCCCFEkJPETgghhBBCCCGCnCR2QgghhBBCCBHkJLETQgghOqCsrIxVq1bx9a9/ncrKyqvunzlzph8jE0IIIUDv7wCEEEIIf5g7dy5msxlVVbHZbBiNRhRFaX3c7XbT2NjI3/72N7761a9SW1tLdHQ03/rWt9DpdPzpT3/illtuISkpCZ1Od137y5YtIyEhgR//+Me+fFlCCCF6KUnshBBC9Eoff/xx688PPPAAP//5zxkyZEib27799tsUFxfzpz/9iTvuuAOAESNG8P3vf59XXnmlzefs3r2buLg4zwcuhBBCtEGGYgohhOj1mpqaiIiIaPMxt9tNaGho621N03A6nUyePJnp06ezZcuW655z9uxZ+vbtS11dHdXV1V6LWwghhLhM0TRN83cQQgghhD9NmDCByMhIVPWL652333473//+9zlw4AA//elPsdls1NbW0q9fPx566CFsNhsPPvggdXV13H///XzyySetz3399dcpLS2lvLycmTNnMnfuXH+8LCGEEL2I9NgJIYTo1crLywkNDWX9+vV8/PHHfPzxxzz00EPY7XYARo8ezdq1a5kyZQrjxo1j4cKFLF68mBMnTvC9730Ph8NxXZu7du1i/PjxjBs3jp07d/r6JQkhhOiFZI6dEEKIXm3btm2MGTPmqvsaGhquGppZVVXF+vXrGTNmDA0NDfzyl7/kV7/6FS+++CJ1dXU4HA42b95MfHw82dnZ7Nu3j0OHDuF2u4mMjPT1SxJCCNELSY+dEEKIXu3NN99k0aJFV91XV1d3VUL2zDPPcM899wDw3e9+l4SEBH71q1+xd+9e/u3f/o26ujqOHj2KqqocP36c5ORkduzYwa5du2hsbOTixYs+fU1CCCF6H0nshBBC9FrvvPMObrebKVOmXHV/dXU1UVFRAGzfvp3S0tLWeXKKotC3b1/mzJnDiy++yCuvvEJsbCzf/va3ycnJYdeuXQwfPry1rREjRrBr1y6fvSYhhBC9kyR2QggheqU9e/bwm9/8hmeeeaZ1/bqamhpyc3M5duwYycnJAEyZMoXnnnvuqjXu7rnnHiZMmEBoaCiapnFlHbKdO3cyYsSI1tsjRoyQeXZCCCG8TubYCSGE6HWampr4/e9/z+9+9zsGDhzYev+uXbv4/e9/z9y5cxk6dGjr/RERETgcjjYLpdjt9tZCKwCvvvrqVY8//vjjXngFQgghxNVkuQMhhBBCCCGECHIyFFMIIYQQQgghgpwkdkIIIYQQQggR5CSxE0IIIYQQQoggJ4mdEEIIIYQQQgQ5SeyEEEIIIYQQIsgF3XIH1dWNuN3eL+QZGxtGZWWD1/fTm8l7HJjkuHifvMfBRY6X98l7HFzkeHmfvMeBKRCOi6oqREeHtvlY0CV2brfmk8Tu8r6Ed8l7HJjkuHifvMfBRY6X98l7HFzkeHmfvMeBKZCPiwzFFEIIIYQQQoggJ4mdEEIIIYQQQgQ5SeyEEEIIIYQQIshJYieEEEIIIYQQQU4SOyGEEEIIIYQIcpLYCSGEEEIIIUSQk8ROCCGEEEIIIYKcJHZCCCGEEEIIEeQksRNCCCGEEEKIICeJnRBCCCGEEEIEOUnshBBCCCGEECLISWInhBBCCCGEEEFOEjshhBA31HBwv79DEEIIIcRNSGInhBDihqxFRf4OQQghhBA3IYmdEEIIIYQQQgQ5SeyEEEIIIYQQIsjpvdl4Q0MDP/zhD7Hb7dTW1vLLX/6Sffv2sWbNGhwOB/PmzeOxxx7zZghCCCGEEEII0eN5NbFbuXIlCxcuZP78+WzcuJFnnnmGS5cusW7dOtxuN3feeSeLFi0iLi7Om2EIIYQQQgghRI/m1cRu6dKlrT9XVlaSnp5OSUkJ58+fx+FwoGkaERER3gxBCCGEEEIIIXo8ryZ2l1VVVfHqq6/y8ssvExERwRtvvIFOp+OOO+7AaDT6IgQhhBBCCCGE6LG8ntg5HA6WLVvGsmXLUBSFvLw8XnjhBQB+9atfsXPnTiZNmtTh9mJjw7wV6nXi48N9tq/eSt7jwCTHxfuC6T1uDjUFVbze0Ntfvy/Iexxc5Hh5n7zHgSmQj4tXEzuXy8WyZcuYNWsWs2bN4syZM+Tn59Pc3IzL5eLo0aPMnDmzU21WVjbgdmteivgL8fHhlJfXe30/vZm8x4FJjov3Bdt73NhoC6p4PS3Yjlcwkvc4uMjx8j55jwNTIBwXVVXa7ejyamK3fPlyNm3aRHl5OatXryYpKYnp06czY8YMHA4Hc+fOZcKECd4MQQghhBBCCCF6PK8mdkuWLGHJkiXX3f/jH//Ym7sVQgghhBBCiF5FFigXQgghhBBCiCAniZ0QQgghhBBCBDlJ7IQQQgghhBAiyEliJ4QQQgghhBBBThI7IYQQQgghhAhyktgJIYQQQgghRJCTxE4IIYQQQgghgpwkdkIIIYQQQggR5Ly6QLkQQojglvuDJ3DV1VG1aiW6iAiyfvesv0MSQgghRBukx04IIUS7XHV1bf4shBBCiMAiiZ0QQgghhBBCBDlJ7IQQQgghhBAiyEliJ4QQQgghhBBBThI7IYQQXXa4/Ji/QxBCCCEEktgJIYTohuL6En+HIIQQQggksRNCiB6p4eB+f4cghBBCCB+SxE4IIXoga1GRv0MQQgghhA9JYieEEEIIIYQQQU4SOyGEEEIIIYQIcnp/ByCEECL4PLntaertDQCsKdhAuDGMZ6Y+5eeohBBCiN5LeuyEEEJ02uWkrr3bQgghhPAtSeyEEEIIIYQQIshJYieEEEIIIYQQQU4SOyGEEEIIIYQIcpLYCSGEEEIIIUSQk8ROCCGEEEIIIYKcJHZCCCGEEEIIEeQksRNCCCGEEEKIICeJnRBCCCGEEEIEOUnshBBCCCGEECLI6f0dgBBCCM/J/cETuOrqAKhatRJdRARZv3u2y+3pIiJa29NFRHgkRiGEEEJ4niR2Qggh2pX1u2epWLmCuEV3+TsUIYQQQtyAJHZCCNGDXO6dk2RMCCGE6F1kjp0QQgghhBBCBDlJ7IQQQgghhBAiyEliJ4QQQgghhBBBThI7IYQQQgghhAhyktgJIYQQQgghRJCTxE4IIYQQQgghgpwkdkIIIYQQQggR5CSxE0IIcUPm1FR/hyCEEEKIm5DETgghxA2FjRrj7xCEEEIIcROS2AkhhBBCCCFEkJPETgghhBBCCCGCnCR2QgjRA8m8OCGEEKJ3kcROCCF6IE/Oi7M7XLg1zWPtCSGEEMLz9P4OQAghRGBqtjlZvjmXzw5cQKdTiAozER3e8s9RnY1itKKE1KGG1aCokvgJIYQQ/iSJnRBCiOscz6/ib2tPUVVn5ZYRSYRa9FTX26ipt1FwqR5nbSq4dS0b6xyoEZVsjS1haGYs0eEm/wYvhBBC9EKS2AkhRIBoOLjf70sLNFkd/HPjObYeuUhiTAhPPjSaAclR1233r5/+CJwG3PUxuGrjcNXE8+raUwCkJITRv18kBr2KTlXQ6RR0qoqqKoSY9EwZ1gezUb5+hBBCCE/y6jdrQ0MDP/zhD7Hb7dTW1vLLX/6S//3f/8XhcABQWVnJ2LFjefrpp70ZhhBCBAVrUZFfE7vD5yp4fd1pahpszJuYyqIpGRgNuja3VRTA4EAXU4ouphRNg58Me4qjeZUcya1k94lSXG7t839urpyid7qomm8uHoqiKL55YUIIIUQv4NXEbuXKlSxcuJD58+ezceNGnnvuOV555ZXWx7/xjW/w0EMPeTMEIYQQN9HQ7OCtDWfYebyUfvGhfPvuYWT0jehUG4rS0lOXkhDG/Ilp1z3u1jTcbo11e4pYvjmPTYdKmDGqn6deghBCCNHreTWxW7p0aevPlZWVJCQktN7euXMnCQkJDBw40JshCCGEuIH9p8t4Y/0ZGpsdLJySzoJJ6Rj0ni+YrCoKqk5h3sQ0zpyv5a0NZ8lKiiA1Mdzj+xJCCCF6I58sd1BVVcWrr77K448/3nrfSy+9xL/8y7/4YvdCCCGuUddo58UPjvHCimNEhRn5+SNjWXxLpleSuiupisJjdwwizKLnTyuP02xzenV/QgghRG/h9dnrDoeDZcuWsWzZMpKSkgA4d+4cer2elJSUTrcXGxvm6RDbFR8vV5K9Td7jwCTHxfvaeo+bQ03tvveVu3YTO3FCh+9vj6ZpbD54gb+sOEqzzcnD8wZx94z+6HXdT+iujH1P8SHGJ49sezvgx18ex0//tJ13N+fxgy+NDvj5dvI34X3yHgcXOV7eJ+9xYArk4+LVxM7lcrFs2TJmzZrFrFmzWu9fsWIF8+fP71KblZUNuN3eXy8pPj6c8vJ6r++nN5P3ODDJcfG+9t7jxkZbu+99xbHTuLMGd/j+tlTX23hj3WkOnasgMymCr8wfRL+4UKqrGjv3AtpxZewnLuSSYcpqd9vECBOLpmawYms+GYlh3DIiySMxeIP8TXifvMfBRY6X98l7HJgC4bioqtJuR5dXE7vly5ezadMmysvLWb16NUlJSfz2t7/ls88+45FHHvHmroUQASAQyveLll66bUcv8van53C63Nw/sz+3jU1BVf3bS7ZgUjqnimp485MzZCZF0C/edyMyhBBCiJ7Gq4ndkiVLWLJkyXX3r1mzxpu7FUIECH+X7xdQWWvltY9PcSy/ioHJkXxl/iASY0L8HRbQctXx8TsH84tX9/Knlcf5+ZfHYjK2vbyCEEIIIW7MJ8VThBBC+JZb0/js4AV+9tfdnC2uZeltA/nR0tEBk9RdFhlm4vE7B2OtKuWdFZuw1lWjud3+DksIIYQIOl4vniKEEMK36pvs/OmDY5wqqmFwejSPzs0hLsri77CuojmsuEpO4Sw+SmrxMX4RVQq14Hj7DeyKgmoOR7FEolgiWv6FRKJaIq67TzGHo6jSyyeEEEJIYieEED3Mii15nC2u5dF5OdwyvG/AVJzUXA4cxz/FWXQY16Uz4HaB3oiubw76IbMpqFXYvf8s0QY7ExIshNGMu7kWd10pWlMduOxttKqgmMO+SPY+/6dGJKBLyESNTUXRGXz+WoUQQghfk8ROCCF6kNLqJrYeucj0kUlMC6BKk+6GSpo/eR53eT5qTDKGobehTxmOrs+A1sRrIGAZMJFn3zvMR0cdfO2OwYzNSQBaCsDgsKI11+FurkNrrkVrrkNr+vz/5rqWJLA8H625DhzWlh2retTYVHQJmS3/+majhsX66V0QQgghvEcSOyGE6EE+2JqPTqdw5+R0f4fSyll8HOunf0JzuzDP+Q6G9PYL6qQkhPGzR8bx/PtHePGDY9w1LZM7JqW19DoaLShGC2pk4k336W6owlWWi6ssF3dZHo7TW3Ac3wCKDsvc76JPGe7JlyiEEEL4nSR2QgjRQxSV1rP7RCkLJqURGWbydzhomhv7odXY972PGtWPkNu+jRrV56bPiww18qMHR/Hq2lOs2JLHxcpGvjIvB4O+43Pp1LAY1LAYDJnjWmJxu3BXFWPd9DLNn/6J0MW/6FAsQgghRLCQxE4IIQJY7g+ewFVXB0DVqpXoIiLI+t2zbW67YkseISY9cyek+jLENukcdprXPYur6BD6/hMx3/IVFEPHk02DXse/3DGYpNhQ3t+SR3l1M9++ZziRocYuxaOoOnRxaVhuf4Km9/8fzev/SMjin6MYA6tKqBBCCNFVstyBEEIEsMtJXXu3LztbXMPh3ErmTUwl1OzfYiGuyiJG7/kY1/mjmCYvxTzj61cldQ0H93eoHUVRuGNyOt+6ayjnyxv4z9f2UlRa36HnHi4/1ub9ang85tu+hbu2jOaN/ydLKwghhOgxJLETQogglPuDJzjztUepWrWS0197lDdfWU9EqJHZY1L8FpOmubEfXUfTiqdR3S4sdz6Jceht11XltBYVdardMdkJ/GTpGDQN/vvvBzh4tvymzymuL2nz/oaD+9EnDcI0+Uu4ig5j3/d+p2IRQgghApUkdkII4WOVu3Z3u40re+7yQ5IoMsZx5+R0TEb/rOkW5nTT/PHvse18C33KMPZPmIe+z4CrtrkyGc39wRPXtXGjnry0PuH8/JGxJMWF8Pzyo6zdVdhSKbOTLieVhsEzMeTciv3QRzhyu388hBBCCH+TOXZCCOFjjfkFWLIGt97uzDy6a2nA5phRRDrqmT7SP8sbZDfauK+sDhe1mKZ+GcOgGTjzP7luuyuT0baGlFqLiggb1X7FzKgwEz/+0mheWXOSdzflUlLZyJdvz8Gg7/w1SkVRME15CHdNCdZNf0WNTEQXl97pdoQQQohAIT12QgjhZx2dR9eW06FplJpjuaXqMHqdbz/S9W6NO8vr+crFWup1OkLu+g+Mg2d6dUF0o0HH1xcOYdHUDLYfvcRv3j5IXVNbC5ffnKLTY77t2yjmMJrXPYu7qdbD0QohhBC+I4mdEEIEKTcKW2JHEmerZnB9vk/3HWd38q3iaqbUNrMt0sILydHoYvr5ZN+KorBoagbfWDSEgkv1/PK1fRSXN3SpLdUSgeX276JZ67Fu/muXhncKIYQQgUASOyGECFJHw7OoMkYyreoQKr5LSBy5e/jO+WoinC5e7RvJR/HhOFXv9dK1Z/ygRJ5cOhqHy81/vbGfI7kVXWpHF5eGafx9uM4fwXlmm4ejFEIIIXxD5tgJIYSPXDmXjrff6dRcumtZVSObY0eRZC1nQON5D0bZPs3lxLbrbRzHN1BuMfFGQhi1hpZiLeHGMACe3PY09faW3rM1BRsIN4bxzNSnvBZTRt8InnpkHM++d4Q/vneE+2f057Zxna8Mahg6G2f+Pqw7/4EueShqaLQXohVCCCG8RxI7IYTwke7MpbvWpr4TadaZuL9kAwqgi4joZnQ35q6voHnDi7jL8zAMu52c8ffxXzo9q/PWsyBzjlf3fTPR4SaeXDqal1ef4O2N5yipbCK2f+faUBQV8/THaHzv51i3vIpl7ve9OldQCCGE8DRJ7IQQIsicLqrmkCWdeRNSGTR4GnGL7vLq/pxFh2j+7CVwuzHP/haGzHHtbnu5d66thE8XEdGazF6ZiHanKuhlJqOOby4eygdb8/loRwFheTpcl/IYk51Acnxoh5I0NTIR04T7sO14E+eZbRiyb+lUDEIIIYQ/SWInhBBBxKmovPHxaeIizSycmkH9mqNe25e7qQbbnndxntmOGpuCZfa3USMTu9ze5WStYuWKq5JRT/VkqorC3dMySUsM45/bjrJqewEfbi8gIdrCmIHxjMlOIPwmUxENQ2a1DMnc8Q90/YaghsV0KRYhhBDC1ySxE0KIILIjehilVU0su38kJoOOei/sQ3M5sB/9BPvBD8HlxDhiPsYxi1H0Ri/szbNa5/hlgCnZiKE+hXjXBNbvPc/a3UXEG8P4aZOdiJC2X8sXQzJ/hnXr37DM/b6PX4EQQgjRNZLYCSGEn105RPHy7bYeKzdGsit6GJOG9GFIhud7kjRNw1V0GOvOt9DqStGljsQ86cFu9dL52uXCLQCKwY4zJpdlM79Oo9XB/tPl/G3tKT7dV8xd0zLbbUONSMA0/oshmSTM90XoQgghRLdIYieEEH7W3hDFKx8r+2AF79WnElLVxP2zOlkZpAPcNRex7vwHrvNHUaP6Yp63DH3KMI/vx19CzQamjUhi79ajbDxQzLyJqZiN7X8FXjkk0zl8AhD4vZVCCCF6N1nHTgghOqDh4H6/7n93jZFzF2q5f2b/docRdoVmb8K6620a3/0ZrkvnME18kJB7/7NHJXVXmh5ro9HqZOuRizfc7vKQTDQXFR//xUfRCSGEEF0niZ0QQnSAtajI6/swp6a2eX91vY21ZWYGp0czeWgfj+xL09w4Tm2h8Z9P4jiyDsPAKYQ+8D8Yh9+OovbcwRzpIS76J0eyfk8RTpf7htuqEQkYR95B09l9uKpLfBShEEII0TWS2AkhRIAIGzWmzfvf/OQMTg2+fHv2dWX720sGb8RVeo6mD/4T65ZXUCISCLnrF5infxXV4t218ALFvAmpVNbZ2Heq7KbbGgbdCqoex8nPvB+YEEII0Q0997KsEEL0AEdyKzlwppw7B5hJiA657vH2ksG2uBurse1+B+e5nSghUZhnPI6+/yS/L8R9o+IxnnLlWnkhq1YSm34Xa3cXMWFw4g1fv2qJIGzQJBrObMM07l4Ug8njsQkhhBCeIImdEEIEKKfLzVufniUx2sKdiyd0uZ2W5QvWYT+wCtwujCPvwDjqDhSD2YPRdt2Nisd4ypWJowKMrzzKWn04xwuqGJoRe8PnRoyZS8PxrThyd2HMme6V+IQQQojukqGYQggRoD7dX0xpVRMPzBqAXtf5j2tN03AWHKTx3Z9i3/Me+uQhhC75L0zj7w2YpM5fhtTnERlmZO2um8+dNCVno8ak4Dj+KZp2kxXOhRBCCD+RxE4IIQJQbaOdD7fnMywzlhH94zr9fFd1Cc1rf0vz+j+iqHos83+IZc4TqBEJXog2+OhxM2dsCicLqym4VHfDbRVFwTB4Bu7KItxluT6KUAghhOgcSeyEEOIKh8uP+TsEAN7fnIvd4eaBLqxZ5zi3i6b3fo6rLBfTpC8Rcu/T6JOHeiHK4HHtvD1dRATTR/bDbNTx8e6b99oZ+k8Cgxn7iY3eClEIIYToFpljJ4QQVyiuL2FEvH+ToIJLdWw7cpE541PoGxvaqec6L5zAuukldH36Y579Lb9VukwOT/LLfttzeR7ftW4d1Y91e4q4e3ozCVGWdp+vGC0YBkzBcXoz7kkPoprDvRWqEEII0SXSYyeEEAFE0zT+seEs4SEG7pyc0annuirP07z+OdTIPi3DLv24fIG/k+OOum1sCqqisH5PB3rtBs8ElxPn6a0+iEwIIYToHEnshBA9VsPB/f4OodN2nyjlXHEtd0/PIsTc8UEV7oZKmj/+HYrRjGXeD1BMnevpCwRdWZPvWuHGsBvevlZ0uIlJQ/qw7chF6prsN9xWF9MPXd9s7Cc+Q9NuvLi5EEII4WuS2AkhfM5XCZe16Oa9MIHEZnfx7qZc0vqEM3V43w4/T7M10rz2d2h2K5Z5P0ANu3H5/kDVmTX52vPM1Kd4YeavmZ8+mxdm/ppnpj510+fcPiEVu9PNlkMlN93WMHgmWn05rvOBMRdTCCGEuEzm2AkhfM5aVOSRk3hfuHJh66pVK9FFRLQ7X6u7Vu8qpLrexjcXDUXt4KLhmstB8/pncddewjJvGbqYFK/E1pP1iwtlQHIke06Wcsfk9Btuq08fg2KJwH7iU/Spw30ToBBCCNEB0mMnhBA3cOXC1m3d9pTymmY+3l3ExCGJ9E+O7NBzNM2NddPLuC6exnzr19D3G+yV2HqDcTkJFJc3UlLReMPtFJ0eQ850XEVHcNeX+yg6IYQQ4uYksRNCiADw1oaz6FSF+27t2PIG7royrBv/D2fubozjl7SU4/eDQKt+2VVjshNQgH2nym66rWHQraCA4+Rmr8clhBBCdJQkdkII4WcHz5Rz6FwFi6ZmEB1uuuG2ruoSmj/7C43/fBJnwX6MoxdhHDHPR5FeryvVLz1RJOVmOptwRoebGJASxd4OJHZqWCz61JE4Tm1Gczm6GqIQQgjhUTLHTggh/Mhmd/GPDWfoFx/K7LHJ7W7nqijEfugjnHn7QG/AMPQ2jMPnooZG+zBaz/DF/MquJJzjchJ485MzXChvoF/8jatpGobehrPwILZdb2Oe8nBXwxRCCCE8RhI7IYTwow935FNZZ+PJpUPQ664fRKFZG7BueQVnwQEwWDCOXIBh2By/rlHXU43Njucfn5xh76mymyZ2+n6DMQyfi+PIx6gxKRgH3eqbIIUQQoh2SGInhPA4X1aSDGblxkjW7znP1GF9GZgSdd3j7tpLNK39PVpjJcYxd2EcOjso16cLFpFhJrJTW4ZjLpqagXKTyqSm8UtwVxVj2/4GalRf9H2zfRSpEEIIcT2ZYyeE8DhfVZIMZhqwPn4CZqOO+2ZkXfe48+JpGj/4T7A1YlnwY0xjFklS5wPjchK4WNnEhZtUxwRQVBXLrG+ihMdj/eR53PUVPohQCCGEaJskdkKIoHa4PDgXij4Wnsl5Sx/um9Gf8BDjVY85zu2kefX/opjDCVn8c/R9Bvgpyt5ndHYCigJ7T968iAqAYgol5PbvormcNK9/Fs1h83KEQgghRNtkKKYQImg9ue1p6u0NAIQbw3hm6lN+jqhjmlUjG+PG0q+5jKnDZ7Ter2ka9oOrsO97H13fbCy3fQfFfOO5XsKzIkON5KRGs/dUGYtvuflwTAA1qi+WWd+k+ePfY938MuZZ/9qh5wkhhBCeJD12Qohuazi43y/7vZzUXftzoNscOxqrauT28l2onycAmsuJdfNfse97H/2AyVjm/1CSOj8Zl5PApaomistvPhzzMn3qcEwT7sOZtxf7wVVejE4IIYRomyR2QohusxYV+TuEoHHBFMehyIGMrTlJgr0GAM3twrrxzzjPbMM4ZjHmW/8FRWfwb6C92Ojs+JbhmKdKO/U8w/B56PtPwr7vfRwF/rnYIYQQoveSxE4I4TMVK1dw5muPUrVqJWe+9igVK1f4OySfsTtc7I0cxPK+Mwh3NjK16jDQMvzStvVvOPP3YZr0IKYxi2UYn59FhBgZlBbN3pNlaJrW4ecpioJ52ldQ4zOwfvYSrqpiL0YphBBCXE0SOyGEz8QtuouBL/+NmDsXMfDlvxG36C5/h+R1DqeLT/cX8+P/28mn8eOIt9dwb8lGTJoTXUQ4tt3/xHF6K8bRizAOu93f4YrPjctJoLS6mfNlnRviq+iNWOY8gWIw07zuj2jW4BkiLIQQIrhJ8RQhRK9xZbEV8G7BFafLzdYjF/loRwHV9TYGpkTxjYVDyE6dSfOGaCyz52M7+BH2ve9hGDIL45jFXolDdM3ogfG8sa5lsfIxQ5M69Vw1NBrLnO/QtOq/ad7wApb5y1BU+boVQgjhXfJNI4ToNa4tsOKNgitOl5sdxy6xans+lXU2+veL5GsLBpGTFn3VEEv7iY3Y976Hvv8kTJOXyvBLP2ov4R+U3jIc8+udGI55mS4hC/MtX8G66SVsO9/CPOVhT4YshBBCXMeriV1DQwM//OEPsdvt1NbW8stf/pJBgwZhtVr50pe+xG9/+1syMjK8GYIQQnTIlSf3W0t2dbonz+V2s/NYKR9uz6ei1kpmUgSPzMthSHrMdUmbu6EI57bd6FJHYL71MRRFRsX7U3sJ/7icBP629hS5xbVEmnWdbtcwcAquqvM4jnyMGpOCcdCtnghXCCGEaJNXE7uVK1eycOFC5s+fz8aNG3nuued48cUXeeaZZ1i0aJEkdUKIgNHVpRPcbo3dJ0pZuT2fsupm0vqE89CcgQzLjL0uodM0DWf+Xtxlu9H1HYhl9rdkiF4AaxmOeZpthy+wYEJql9owjV+Cu/oCtu1voEb1Rd8328NRCiGEEC28epl46dKlzJ8/H4DKykoSEhLYvHkza9euxWazsXPnTm/uXgghvMattSR0P//rbl766AQmg47v3DOMpx4Zy/CsuKuSOs3WiP3oepre/XesG14EYxSW27+Lojf68RWImwmzGBiUHs32IyWdqo55JUVVscz8Bkp4PNZPnsddX+HhKIUQQogWPrlUXFVVxauvvsrLL7/Mww8/zC9+8QsmTpzIr371K0pLS1m8eLEvwhBCiG7TgH2nyli5LZ8LFY30iw/lW3cNZdTA+NbFxi9zVRTgOL4Rx7ld4LKjJmRhvvVfcBRUoRhD/PMCRKeM7B/H39ef4VJVE31jQ7vUhmIKJeT279L4wdM0r3+WkIU/RTGYPBypEEKI3s7riZ3D4WDZsmUsW7YMs9mMpmmtvXgLFy7kww8/7FRiFxsb5qVIrxcfH+6zffVW8h4Hps4el+ZQ01XPOXOTNq/d3lPi48NxOF2s31XIexvPUlkbgXJqY+vjbq1lOQHF1IQh7RS6qPJ247h8/+XXogFnQ1PYGjOC8g+OkZIYxo8eHsuU4Umo6hcJndtho/HkDur2r8NWchbFYCJ82DQixtyOqU8mAEVF/5Tf/QB3+fhMH5vK39efIb+skeE5fbrRYDhNd/2AS+/8N9quvxF/1zIpmHMN+ZsILnK8vE/e48AUyMfFq4mdy+Vi2bJlzJo1i1mzZgGgqipVVVXExMSwb9++Ts+zq6xswO3u2pCYzoiPD6e8vN7r++nN5D0OTF05Lo2Ntps+58rHO7J9Z2mawvufnubDbQVU1lkZmBzJCH0Nluyc1m0+LtgAKLiqErGfGYMaXcqpc+XERprbjdeFyrnQZHZED6PUHEu0vY7H7xzM+EGJqKpCZWXLfDx3bSn2k5/hOL0VbI2oUX0xTV6KYcBkMIVSB3DFa5bf/cB2+fjogOSEMHYeKWHyoITuNRo5ANP4+2jc/U8uhP4D0+iF3Q+0h5Dvg+Aix8v75D0OTIFwXFRVabejy6uJ3fLly9m0aRPl5eWsXr2apKQkfv7zn/PNb34Th8NBVFQUf/jDH7wZghCih9M0cFX1wXmhP69aT5HeJ5xH5mUzJD2Gyg8/IG5aZuu2nzrPAaBPOofzUjrOkix++vIuFk7JQHMrKKrW2ubZ4hp2Hi9lV8Z9WHUmohz1LCjdxpD6fHKGLG7Zzu3CWXQYx4mNuIqPgaJDnzEaw+CZ6PrmSI9MDzEmJ5HV2/Ox2V2YjJ2vjnklw/C5uKrOY9/3PmpMPwzpYzwUpRBCiN7Oq4ndkiVLWLJkyXX3T58+3Zu7FUL0ApW1VpyX0nCW90NrjkCx1PPtu4cxakDcTRMqRdUwJOWji73I4KZ7eW9TLop5Cobks7ibInBV9OW/9x7AqFfp31TCkPo80ptK0NGS+LmbanCc2oLj5Ca0xiqU0GiMY+/CkDMdNSTKB69e+NKYnARWbsnlZFE1I/vHdastRVEw3/IoTTWXsH72EuqiBHQxKR6KVAghRG8mdbaFEEGjpKKR/WfKOXCmnMJL9cAgFEs9hszD6GIvMnrgok61p5qsfGfecA6dq+C5D3dhPzcK0FAjK3hszhhGDYjn/Lf+1rq9MRxCEqDxzWWgudD1G4JhylL0qSNR1O715IjANTQrFqNB5WheZbcTOwBFb8Qy5zs0rfh/NK97lpC7nkI1B+6cDSGEEMFBEjshhMfpIiJw1dVddbsr3JpGwcV6DnyezF2qagIgMymCe2/NYlXlq6iWpm7HO7J/HKZh23DXxaKG1qIY7Uween/r4+YYCOsHBgu4nWAYOhvj4Bmokd0opiGChkGvY3BaDEdzK9E0zSNDbNXQaCxznqBp1X9h3fAilvnLZE1DIYQQ3SLfIkIIj8v63bNdfq7T5ebM+RoOnCnn4NkKqutt6FSF7NQoZo9NZtSAeKLDW0rFr97Y/aTusghLCPW6cgDCjV9MSjbFhxKV3oizCWrywO4IJ+tfH+zWvkIz0nF3qwXha8MyYzh0rqJbyx5cS5eQifmWr2Dd9BK2HW9hnvqwR9oVQgjRO0liJ4TwO5vDxfH8Kg6cKefwuQoarU6MepWhmbHcMz2OEf3jCDUbvBrDM1OfAuBw+TFGxA8FQNPcxE3si1ZbijthKinfv/9GTXRY7MQJfq+qJTpnWGYsAEdzKz2W2AEYBk7BVXUex5GP0aeNQJ8y3GNtCyGE6F0ksRNCdFnuD55oHXJZtWoluoiIDvfWNVodHD5XwYEzFRzLq8TudBNi0jOifxxjsuMZkhGDyeDZeWvhxjDq7Q1X3b7W5aQOwHl6G+7Sc5inP4b1VIVHYxHBJS7KQt/YEI7mVTJnfKpH2zaNvxfn2R04Tm2RxE4IIUSXSWInhOiyK+fRtXW7LRW1zbxUFELes9twuTWiwoxMGd6X0QPjyU6JQq9TO7z/KxO1K5O0ipUrqFq1EmhJOGPuXETcortae+VW561nQeacG7atWRuw7XkXXZ+B6AdOgVMrOxyX6JmGZcay8UCxR5Y9uJKi6tH3n4Tj+AY0awOKue31iYQQQogbkcROCOFTa3YWUtBsYM74FEYPjCejbwRqF4tRPDP1qTaTtLhFdxG36C4qVq4gbtFdXWrbtvc9NFsjpqkPoygdTzZFzzUsK5b1e897ZNmDaxkGTsVxdB2Oc7swDp3t0baFEEL0DnK2IoTwGZfbzb7T5YzKTuC+W/uTlRTZ5aTOm1xleThObsYw9LbWNcbMqZ4dfieCz8DkKEwGHUdzKz3eti42BTU2DceZbR5vWwghRO8giZ0QwmdOFlbT0OxgXE6iv0Npl+Z2Y932GkpIJKYxi1vvDxs1xn9BiYBg0KsMSovmaF7Lsgcebz97Ku6KAlxV5z3ethBCiJ5PEjshhM/sOVmG2ahjeFaMT/bXlV42x8nPcFcUYpr0IIrR4oWoRDAblhVLRa21dU1FT9L3nwiqDseZ7R5vWwghRM8niZ0QwiecLjcHTpczakA8Br1nq122p7O9bO6mWmx730PXbwj6zPFeikoEs2GZLRclvDEcUzWHo08difPsDjS3y+PtCyGE6NkksRNC+MTx/CqabE7GD0rwdyjtsu1+B5x2zFMeQgnAuX/C/+IiW5Y9OJLn+cQOQD9wClpzHa7io15pXwghRM/V6cRu8+bN3ohDCNHD7TlZRqhZz5AM3wzD7Cxn0WGcZ7djHD4PNaqvv8MRAWx4VixnztdgtTs93rY+dTiKORzHaSmiIoQQonNuuNxBSUkJhYWFTJo0CYD6+np+9atfcebMGUwmE5qm4XQ6eeyxx3wSrBAiODmcLg6eLWdsTkKn1qnzFXfNRZo//TNqbCrG0Xf6OxwR4IZlxrJuz3lOFdYwcoBnlz1oXdPuxEZZ004IIUSn3PAM6+LFi/zbv/0bS5Ys4ciRI3z00UcsXbqUt956i7q6Ol577TWam5t9FasQIkgdzavCancF5DBMzdZI07o/ouj0WG7/Lore5O+QRIAbcHnZAy8NxzRkTwW3E0fuLq+0L4QQome66aXzSZMm8dxzz/H73/+e5cuXs3TpUvr06cO3v/3t1v+FEOJG9pwsJcxiYFBatL9DuYrmdtO88c9odeWYb/s2alisv0MSQeDysgdHcr2z7IEuNhU1NlWqYwohhOiUdhO75cuXc/LkSRRFoaqqisbGRgwGA01NTa1FBaS4gBDiZmx2F4fOVTA2Ox6dGljDMO1738N1/iimKQ+h75vt73BEEBmeFUtlnZXC0nqvtG8YOBV3eT6uqmKvtC+EEKLnafcsq6mpiffff5/Nmzfz4x//mOeee47vf//7/OlPf6KwsJCf//znrf87HA5fxiyECCKHcyuwO9yMGxRYi5I7zu7AfngNhkEzMA6e4e9wRJAZm5NAmMXAPz45i9sLvXb6/hNB0eE4I0VUhBBCdEy7id3DDz/M+++/zx//+EeMRiPbtm1j/Pjx7N69m+9973tMmTKFn/70p0yYMAGdzjdrUgkh/Kfh4P4uPW/vyTIiQ41kp0R5NqBuCKurxLrlVXR9szFNXurvcEQQCrMYWDKjP+cu1LL1cInH21ctEehTh8uadkIIITrshlUxAcaMGUNqaiqTJ0/md7/7HbNnz2bhwoUYjUZfxCeECBDWoqJOL/jdbHNyJK+SacOTUNXAGLrtbqph+JHtKJYIzLO/haK76cegEG2aMqwP249e5N3Pchk5IJ7IUM9+L+qzp+IsPIir+Cj61JEebVsIIUTP0+4ZzQsvvIDRaETTNPbv38+bb77J5s2bufPOO3nttddat3O5XDzyyCNYLBafBCyECB6HzlXgcLoZFyDVMDWXg+ZPnkfvsGOZ/2+olgh/hySCmKIofHluNk/9dQ//3HiWx+8c4tH29SkjWta0O7VVEjshhBA31e5QzNjYWOLi4oiLi8NqtbJlyxaKi4spLy8nPj6+9bHY2FjUACuIIIQIDHtPlhEdbqJ/cqS/Q0HTNGzb/4679BzmWx9DF5fm75BED9A3NpT5E9PYdbyU4wVVHm1b0ekxZN+Cs/AA7gbvLK0ghBCi52i3x+6BBx4AwG638+qrr/Lhhx9y8uRJXn75ZTZv3szPf/5zYmJifBaoEMI/cn/wBK66OgCqVq1EFxFB1u+evenzmqwOjuZVMmtMMmoAVNB1nPwMx6nNGEcuwJA1wd/hiB7kjslp7D5ZyhvrTvOfj43HoPfcvHPD4JnYj6zFcWIjpvH3eaxdIYTnNRzc3+kpC0J40k272oxGI2+//TY7d+5k0KBB/Pa3v+XRRx8lNDTUF/EJIfzsclLX3u32HDhTgcutMT4AqmE6L57Gtv1NdCnDMY69x9/hiB7GoNfx8O3ZlFU389GOQo+2rYbHoU8bjf3kJjSn3aNtCyE8y1pU5O8QRC/XoaoB27dv5/nnn+fDDz8EYMSIEV4NSggR/PacKiUu0kxG33C/xuFuqMS64QWUiHgsM7+OIkPHhRcMSY9h4pBE1uwqZOKQRPrGeu7ip2HobJwF+3Ge24UhZ5rH2hU3d7j8GCPih/o7DBHgujqypbOe3PY09faG1tvhxjCemfqUx/cjgtdNE7uioiL+93//lx/96Ef8/ve/x2AwXPW4w+Hg+9//vtcCFEIEn0arg5MF1dw2LgXFj8MwNaed5vXPojnthNzxJIpJRhoI77l/5gCOnKvk9Y9P86MvjfLY776ubw5qdDL245+gz77Fr39TvU1xfYkkduKmujqypbOuTOraui1Eu5eu3W43Bw8e5Hvf+x5/+MMfGDJkCH379iUxMfGqfwkJgVHtTggROA6dbRmGOTbbf58PmqZh3fIq7ooiLDO/ji46yW+xiN4hMtTIvTOyOH2+hh3HLnmsXUVRMAydjbvyPK5LZzzWrhBCiJ6l3R67H/3oR2zdupXly5eTnJwMfFFQRQghbmT/6XJiIkx+HYbpOPoxznM7MY69G33aKL/FIQJfuDHsuuFNXTVtRBI7jl7inxvPMTwrlvAQz6xtZxgwCdued3Ec+wR932yPtCmEEKJnaTex+/d//3def/11nnjiCZ5++mni4uJYtWoVCQkJxMbGMmDAABIT/V8UQQgRWJptTo7lVzFjVD+/DRlzFBzAtvsd9BljMY660y8xiOBxeY7K6rz1LMicc93je4oPkWHK6lBb6udr2/2/V/fy7me5fHXBII/EqOhNGLKn4Ti6DndDJWpYrEfaFUII0XO0OxQzJiaG733ve/zP//wPP/nJT9i9ezcmk4nS0lJ27NjBt771Lb797W9TVeXZdXuEEMHtcG4FTpebMdnxftm/qywX66d/Ro3LwDzjX2Q+kui2gpriTm2fHB/GnPEpbDt6kdNF1R6LwzhkJqDhOPGZx9oUQgjRc7Sb2DmdTgAGDBjAn//8Z5577jlmzJjB448/zo9+9CPee+89xowZwze+8Q2fBSuECCy6iIjrbu8/XU5kmNEvi5K7a0tp/vgPKCGRWOZ+D0Vv8nkMQgAsnJJBXKSZ19edxuF0e6RNNTwefdooHKc2y9IHQgghrtPuUMzHHnuMhIQEli5dSkJCAk8//TSqqlJSUtK6zZw5c8jJyfFJoEKIwHO5nHPFyhXELboLm93F0We3MmV4X58vSu5urqNp7e9A0wiZvwzVEnHzJwnhJSaDjofmZPOHdw/z8e5C7pyS4ZF2DUNm4yw4gDN3N4bsWzzSphBCiJ6h3cTuhRdeYMOGDfznf/4nJ06cICMjg379+qFpWus2TqcTl8vFpEmTfBKsEML7KnfthqzBXXru0bxK7E63z6thak4bzev+iNZYRcgdP0aN7OPT/QvRluFZsYzNSWDVjkLGD04kMTqk223qkgahRvfDfmwD+oFTZaixEEKIVu0mdmFhYSxevJjFixezZs0afvOb33DrrbeydOlSX8YnhPCxxvwCLF1M7PadLiPMYmBgiu+GYSaH9cG68S+4y/Iw3/ZtdIn9fbZvIW7mwVkDOJ5fyd/XneYH94/sdiKmKAqGIbOxbXsNV+k59H0GeChSIYQQwa7dOXZXmj9/Pm+//TajR4/2djxCiCDlcLo4nFvJ6IHx6NQOfbR0m6ZpZJ87irNgP6bJX8KQMcYn+xWio6LDTdw9LYvjBdXsPlHqkTYNAyaDMQTHsU880p4QQoieod0eu2slJCTIYuRC9GC5P3gCV11dy42330EXEdE6h64jjuVXYbO7GJvj3WqYmtuF69JZnIUHcRYeQqsrxTDsdoxDb/PqfoXoqhmj+rH96EXe/vQsw7JiCTUbutWeYjBhyJmG4+h6WfpACCFEK99cVhdCBLzWpK6d2zdiTk1l/+lyQs16clKjPR0amr0ZR94emjf+Hw1vPEHzR8/gOP4pamQipmlfwTTxfo/vUwhPUVWFR+bmUN/sYPmmXI+0eflChv3oeo+0J4QQIvh1uMdOCCHaYx4+ioObtjF6YBx6nWeuF7kbKlt75VwlJ8HtQjGFoU8biT5tFPp+Q1CMFo/sSwhvS+sTzm1jU1i/9zyTh/bt9nIgalgs+qwJOE5txjR6IYop1EORipt5ctvT1NsbWm+HG8NaF7kXQgh/ksROCNFtJwurabY5GdONapiapuGuLMRZcBBn4UHclUUAKJF9MAydgz59FLqE/ig+mr8nhKctviWDvafKeG3dKX7x6LhuXwQxjpiH89xO7Cc+wzTqDg9FKW7myqSurdtCCOEvktgJIbpt36kyzEYdQ9JjOvU8zeXAVXISZ+EhnIUH0RqrQVHQJQ7ANGEJ+rRRqFF9vRS1EL5lNupZettAnn//KJ/sPc+8iWndak8Xm4oueSiOY+sxDpuDojd6KFIhhBDBSBI7IUS3uNxuDp6tYGT/OAz6m/dAaC4Hztw9LcMsi4+Bwwp6E/rkoejHjUKXMlwWFxc91uiB8YwaEMfKbfmMy0kgLqp7w4mNI+bTvPrXOM7txJgz3UNRCiGECEYypkmIaxwuP+bvEILK6aIaGpodHRqGqTntNK/7I9ZNL+EqPYeh/yQsc39A2JefwzLnOxgGTpWkTvhNcniST/az9LaBKIrC3z85g6Zp3WpLlzQINTYNx+G1aJrbQxEKIYQIRtJjJ8Q1iutLGBE/1N9hBAxdRMRVFTJ1EVcnXvtOl2M0qAzNvPEwTM3loPmT53EVH8N0y6MYcqZ3e7FmITzp2r/7K4tkvHd8tceKZMREmFl8Swb/3HiO/afLGZvT9bmpiqJgHDEP68Y/4yw8hCFd1psVQojeShI7IcQNXV7LrmLlCuIW3XXVY263xoEz5QzPisNk0LXbhuZ2Yt3wIq7zRzDd8ijGQbd6M2QhPMKbRTJmj01m57FLvLnhDIPTYwgxd/3rWJ85DmXve9gPr5HETgghejEZiimE6LITBVXUNdoZd4MeB83txPrpn3EWHsQ05SFJ6oQAdKrKl+fmUNdgZ8WWvG61pag6jMNux116Duelsx6KUAghRLCRHjvRpoaD+wkbNcbfYXhF7g+euG5o4eVeKdE5mw6VEGYxMLJ/XJuPa24X1s9ewpm/D9OkBzEOme3jCIUIXJlJEcwY3Y+NB4qZPKwPGX27Pr/UkD0N2/4PcBxeg77Pdz0YZe905TDcNQUbZK06IURQkB470SZrUZG/Q/CaK5O6tm6Ljqmut3HobAW3DO/bZjVMze3GuullnLm7MU1YgnHY7X6IUojAdve0LCLCjLz28Slc7q4XP1EMJoxDZuEsPISrpsSDEQohhAgWktgJIbpk65ES3JrGtJHXVxLU3G6sW17BeW4nxrF3Yxwx3w8RCtE94cawG972hBCzngdmDqCotIHD5yq71ZZhyGzQ6XEc+dhD0fUeDQf3X3X7malP8cLMXzM/fTYvzPy19Nb1YNceeyGCmQzFFOJzMvSm49xujS2HSxicHk1idMhVj2luN9bNf8V5djvGMYsxjV7opyiF6J7Lf/+flW5mRqL31ogbPTAOnaqQf7GO0QPju9yOaonAMHAqjtNbMY69GzUkynNB9nDWoqIeO/0gmB0uP+b1KtVy7EVPIj12osfr6Lp03qyA19Mcyaukqs7GrSP7XXW/5nZh3fRSS1I39i5MYxb7J0AhgohBryMpLpSCS/Xdbss4fC64XThObPRAZEL4V3F9YA4rlvVuRaDyamLX0NDAN77xDb761a9yzz33cPLkSVasWMG8efN4+OGHefjhhzl//rw3QxAiYL8YgtnmgxeIDDUycsAXRVNaCqX8pWX45bh7MY1e5McIhQguaX3CKbxU3+0Fy9XIRHQpw3Cc3ITmcnooOiHEleS8QgQqrw7FXLlyJQsXLmT+/Pls3LiR5557jujoaH7zm98wZMgQb+5aCOEllbVWjuRVsmBSGnpdy7Uhze3EuvH/cObtbSmUInPqhOiU9D7hbDtykco6K3GRlm61ZRwyi+aPf48zfx+G/hM9FKEQQqZsiEDn1cRu6dKlrT9XVlaSkJDAzp07KSoqorGxkdGjR/Ozn/3MmyGITrpyKYCqVStlKQBxnS2HS0CDaSNaiqZoLifWT/+Es2A/pokPtAwFE0J0SlqfcAAKL9V3O7HTpQxDCY/HcWKjJHZ+4It5YcI/ZMqGCHQ+KZ5SVVXFq6++yksvvcT48eOZN28eAF/5ylfYs2cP48eP73BbsbGer0rWnvj4cJ/tK1CcaWMpAG++D754j0NKTVft50w7cUSaI6i1fvH6I80Rvep3oL335bLmUBPRMaFsP3aRMYMSGdQ/Ac3tonT5b3AW7Cd2zleJHLfAdwEHud70uxX0Sr1/vCKiQlBVhbI6m0f2VTN+HlWfvk6EuxJTYnr3A/QBf/5NNIea2tz/td8f7blym6rSyl7x9+2P729vaO/YA1Tu2k3sxAk3fH58fPhNvz+7Kj4+HLdbo6rOysWKRpxlyWg2C2poLWp0GYoi3yX+EMjvudcTO4fDwbJly1i2bBn9+vUjNjYWRVEAyM7O5ty5c51K7CorG3C7uzcHoSPi48MpL+/+RPae4Mr3oStXItt7jq/e46ZG2033U15ez39Nbuk9Xp23ngWZc1rv782ufP2NjTY27Cygqs7G0tsSKC+vx7rrnzjO7ME0+SHs6dN6/fvVUfL5Enx8cbySYkM5mVfpkX1p/caD7i3Ktq3CPO3R7gfnZf7+m2hs53siRo3tUFzl5fVXDdN77/jqHj1ML5C+v7urrWN/5egl4Iajl9qLrzNxa5pGTYOd0qomymqaKa1qoqbJwflLdZRVN2N3Xl7jciigAQqKqRF9n0KKL9RgMuo6vC/RPf7+rAJQVaXdji6vJnYul4tly5Yxa9YsZs2aRXFxMU8++SSvvfYaVquVbdu2sWCBXOEPJsX1JZ1O7LryHBF4zKmpbD50gehwE8OzYnHk78NxZC2GwTMxDp3t7/CECHrpfcI5dK4CTdNaL4B2lWIOQ581Ece5HZgm3IdiCvVQlL1LZ767ZJhez+FqY/RSd11O3sqqmyitbqa0uomyqs//r2nG7nC3bqvXKfSJDSUu0sLg9BgSoy0kxITw/Mk/oBhsuGsScFzMwFE4mB++uJ1bR/Vj5uhkosNNbe674eB+WdKhl/BqYrd8+XI2bdpEeXk5q1evJikpiWnTpjF//nxMJhMPPvggw4cP92YIQvjVjT5Mg20eRlPGYI6t28miqRkodWVYN72MmpCJadKD/g5NCL/w9MlSWp9wth29SFWdjdhIc7fbMw6ZhfPMVhxntmMcNscDEQohbkQDGnUWqgzhlB4uaU3gSquaKatpuip506kK8VEWEqNbkreEaAuJ0SEkRluIiTCTmBhxXc9QZLGeersVXUwpanQpZltfsqyzWbOzkI93FzFpSB8WTc247vND1urrPbya2C1ZsoQlS5Zcd//jjz/uzd0KL5BKUF1zow/TYOvJ3HKoBFVRmDYkluZPfo2i6rHM/haKzuDv0ITwC0+fLKV/XkCl4FK9RxI7XXw6akIm9hMbMQydjaLI0rVCdIQuIuK6oZg3kxvSjw8Tb8GmM7bcsfYUOlUh7vPkbVBadEvyFtOSwMVEmNCpnfubvHzedeWUEYCy6iY+2VvM5sMl7DpRyqwx/VgwKZ0wi3w/9zY+KZ4igp8MMendnC43246UMCIrBvPBf+CsvoBl/jLUsFh/hyZEj5GSEIaqKBSW1jEmO94jbRoHz8K66SVcF06gTw6eC0m+IpWgRVsu/w5UrFxB3KK7brq9G4UNceMIdTUzreog0Y56Rj/9c2K7kLx1RUJ0CEvnDGTuhFQ+2JbH+r3n2XL4IvMnpjJ7bIrX9y8ChyR2Iqh0ZujTlb2MW0t2SQ9jN+w/XU5dk4M74wtxnt6FcezdcpIohIcZDTqS4kIouOS5ifn6zHEou97GcfxT+ZttQ1fmUoUbw666uBlu9F21bhGYjoZnUW2M4J6SjQxoKgYgIap7y5bcSHJ40lW3rzzfwQLRIxNIrZ/D8s15fLq/mJlhRmbbnZiNctrf08kRFkGlM0OfrvzilR7Gm2tv6InT5eaDbfmMiakn9uyH6FJHYBx1h7/CFMLn0qOSfbavtD7hHMmt9EgBFQBFb8SQMw374TW4Gyqll90D2hsOB6C5VXDrUPQOf4Qm/MDhdLM9biR9reX0/zyp68jQze64dhrHtec4zYYynrh3OGfO1/Deplzev2Bn1bPbGJoRw+iB8YwcEEeoWYZp9kSS2AnhY4E6X/Hy0JPmDWuwzJ7fev/GAxdoqK7iS302ohijscx4XObqiF5lfPJIn5W3Tu8Twfajl6iutxET0f15dgCGQTOwH16D48RnmMbf65E2xfW9JppbxXZyPFpjFIqlDjWiioNny8lOiSJETqJ7rC2HS6jThfAvX5pMv5r+AVWkZGBKFD95aDT73l7F2bgc9p8p5+DZCnSqQk5aNGOy45k4OFF68noQOZJC+FgwzVdsaHawbttpvhe3Gb2zEcuCn0nZdCG8KO2KAiqeSuzU8Dj0qSNxnNqMccwiKXjkIVf2mmiahiN/CFpjFLqEQjRrKK6yFJ5bfhRFaSmMk5MWzaDUaAYkR8m6Yz2E5lL5aEcBA1OiGJwejaLE+Duk6yiKQkaIi3G3DeSB2QPIv1jHgdPl7D9dzusfn+bgmQq+v2SEv8MUHiKJnRBe0JEJ+ZoGOExodjP7T5dRVW+jpt5GSmIYEwf38UPU1/to82m+bFxPvLsCy5zvoItL93dIQvRoKQlhKEpLYjd6oGcKqAAYhszCWXgQZ95eDAMme6xd0WLdnvO4Kvuh73cGQ788oKUH74kBP+ZUUTUnC6tZv+c8a3cVoVMVMpMiGJQWzaC0aDKTIjHoZRREMHKWpWJttPPNxUM9MnTa21RFISspkqykSO69NYs1uwpZvjmPI7mVDM+SYdo9gSR2okfw5Jpw1w6v8RS3ppF7oRZ7YQ7umng0WwjQ8kXwwoljAChKS8Jntbm4dVQ/r8TRURdKqxmQ+yYZhnIss76JPm2UX+MRojcwGXQkxYVS6MECKgC6foNRIvtg2/kWmsuBYeAtKD6o1tcbHMmt4N3PzqGLuYg+Ka/1fkV1k5MWTU5aNItvAavdybniWk4WVXOqsJpVOwr4cHsBBr3KgORIclJbEr30vuE+qaTY23W3Iqrm0uG8mMnQjBgGpkR5KUrvURSF28ensuFgIf/ceJbB6dHodfJ7F+wksRM9gifXhPNEO5e/HEo/WEHlyOnsPl3O889vp7bRDkoqakQFutiLKEYbisHKT6Z8g+gIEyEmPc+/f5Q31p0mzGJgbE5Ct2PpCs3lpGb1H+mvv4gy+asYMsf7JQ4heqP0xHCO5nmugAqAoqhYbvsOtm2vYdvyKo7jn2KavBR932yPtN9bXaxs5P8+PE5KYhhlyce40eEyG/UMzYxlaGZLz0iT1cHp8zWcLKzmVGEN72/J+3w7HQNToshJjWbUwDgSo0N88VJEJzkvpYHTyF3TMv0dyg1pmobiqMZ5/giaywkuJ7gcLD+9AofDypTwECzV0ex5/V1GxsWhNdXibq4DNHTxmegSMtEl9keXkIVilgqwgU4SOxHUAqEQiaZp1DU5KK9pprymmYqaZsprrJTXNHO+JJymU4cwGlSGZcYyJjue1y/8EUXnuqqNy/NqAL65eCi//ech/rLqOCFmPYPTW8bse7JX8savx03ph38k1VlAbspCRg6d5vV9CiG+kNYnnO3HPFtABUAX0w/LnT/BmbcH265/0rzqv9FnjsM04X7U8DiP7ae3aLQ6ePa9Ixh0Kt+5ezhP7X+vU88PMRsYNSCeUQNahtzWNdk5XdSS6J0srOZIbiUfbMvjyaWjSe/j3SqLvVFn16q7kubU47yUgRpVSkbfwD429r3LMVZtoXntlqvuX9D6UwNNpirqrRZcbg19bAo6SwS4XbjK8rAf+ujzuSOgRPZBl5iFLqE/usQs1Ohk6fkPMJLYiaDmq0IkNruL8tpmKj5P2Mprmqmo/fzn2mbsDvdV20eFGYmLsjAkzMH4mWMZmhmDydAyWf6NS662dtHKZNDx3XuH88ybB3ju/aP8+EujSO8T4dFeyfZobjeusj2ENhbxiTaZhbcv9ur+hBDXu3wSX+jBAiqXKYqCIWsC+rSR2A+vxX5oDc7CQxhHzMM4YgGKweTR/fVULrebP39wjIpaKz/60ihiI7t/nCJCjIzLSWDc5yM1yqqb+N+3DvHHd4/wsy+P9cg+xPXMqamdfo7zYga49BiSz3ohIs+xH9uA/dBHuMyphN/+ZdDpQTWg6PT8bNevcSkKzToFR3M4tmNTuG1AKg/OHnBVG5rDiqs8H1dpLq7Sc7iKjuA8s73lQYMZXXwGuoQsdIn9UROzUM3hbUQifEUSu16sM4t934yvepO8raHZwcGz5Z/3vF1O3KzUNdpbt1FwE2NykhbuZlSog4RYBzEGGxFqMyFaI0ZnAzTXoTXVoOmcGC4Wo4+agZaQ1eFhVaFmAz9YMpL/emM/v3/nMD95yHvlkzW3E3dlMa7yPJyFB6GxiFVNoxi04C4Zby+EH6QkflFAZZQHC6hcSdGbMI1ZjCH7Fmy738V+4EMcp7diGn8f+v6TgqIQhD+9szGX4wXVfGVeDgOSo7yyj4ToEL5733D+++/7+eN7Ld8DFpOctnlaZ8+DNIcRZ2kauphLqCGBW9XakbcH24430aeNwtacjC6x/1WP1xq+qMyqhjSgiy9m4wGVW0cl0Tf2i+rXisGMPmkQ+qRBQMsoJa2+vCXJK83FVZaL/fAa0FoucCsRiZ/36n2e7MUko6hSBdZX5BOiF+vMYt83463eJJfbTbPNRbPNidXuwqh5fBetDp4t5/W1J4i2XyJabSIxxEG22UF0jJXI2GYsWhNGZwM6e33LsAQ3UP/5PwCDBTUkEiUkEiU+HcUSieNSMc78/TjPbEeNScYwaAYmlxtbBxKm6HATyx4YyX//fT+/ffsQEzwwIrL1A7ksF1dZHq7yfNwVBS1j7gHM4XzcPIoLidN4sL8MzRLCH0wGHUmxoRSWen/tPDUsFsusb+AcMgvbjjexfvYX1BMbMU/6ErqEwJ475C+HzlXwyb7zzB6TzC0jvFNs67Lk+DD+dfEwfv/OYf608hjfvXd4a2GVnnJBNZBd25vntplxns8Gtw59v3N+iurmMpvsWDf+BTUxC/Osb9K4evVNn2NIPgu16byz8Rzfva/95Q8URUGJSECNSGitsKs5bbjKC3CV5uIuy8VVfBzn2R0tT9Ab0SUNwnzLo6ih0R55faJ9ktgJr3ly29PUWRvRHCY+OrELixLBI9kP0Wxz0mRzoup1lFc10mxtud1sc9Fkc7Qmck1WJzbH1cMWM0NC+bHT7dHS0FbVwF9Xn2Dn0RK+HbuVLHPhFw86VBR9BIolCiUkHtXSvyVxC4lECYlCtbT8r4REoOivH8JkBjR7M47c3ThOfIZt+xv8VIHD4WZOhxi5aNRTZWj/SlafmBC+v2QE//OPg2zbomNOhp2IUGOHX5u7uQ53ef7nSVwerrI8sDW2PKg3ootLxzBkNrr4TKqMffngQC17Skr5j1kD5Iq9EDdwuaJeV6rpdURan3CO5Vd5tIDKjej7DEB311M4z2zHtuddmj54Gv3AKZjG34caEuX1/ftKd5OhhmYHr609RXJ8GPfNuLoHJNwYdtV0gHCjZwpNDMmI4eHbB/Lax6d585OzPDxnIIqi+GR4fm8XNmoMNoeLA2fK2X70IraC6YCCvm8eqqXR3+G1qY/NyZcv1aJG9iXk9u+h6Dt2zqAY7NwxOZ13N+VyPL+KIRkdX5NP0ZvQ981uLcakaRpaQ0Vrj57j9FaaVvw/LLd/D118eldeluggSexEh7T3hXWj4iW19U5sJ6aDo2VegA3449EjV7Wr1ylYTHosJj0hn/8fFWrCYv7i9uX/axttLN+cx19Xn+DxhUNQPXCyU2Dpw5qEKTQcK+HHaQfpU1+Icfx96FOGtyRv5jAUpXtJpGK0YBx0K4ac6bjL89m78deMqLcyrs4KgE1RaGr4FWpsKmpcKgXOejIjU1t6BTWNZE3jR1M0Vu44z9/eWMMDC8cT36fPdROWNacdV0Uh7iuSOK2+/PMgFNTofhjSx6AmtFS5coX35eyFeg7nVnDkcCVl1S1zBeYODCUlQSpfCXEjl8ukX/uzp6T1CWfHsUvUNNiJDvfNvDdFUTFk34I+Yyz2g6uwH12PM38/xpF3YBw2p8MniIGsu8nQ39efpqHZwfeXjLjuAuPl777VeetZkDmnW3Fea/rIfpTVNLN2VxGJ0RZuH9/5eWGic/Iv1rH5UAl7T5XSbHMRF2lGn5SLLv4CqqnZ3+G1Kdrh4qslNdgUhdh5y1DMYZ26CDV7bAqbDl3g7Y1nufuOEEYlDutSHIqioITHo4bHY+g/EUP2NJrX/YGmD/8L88zHMWSM7epLFDchiZ3okPa+sNorXuLWNBz5w1omF6cfR9HbQefkRxO+icWkI8SkJzU5mtqapk7F0XzyOGtOlhEdbuL+mQNu/oR22BU9m2JHcyAqhxh7Df814iKWouMYxy/BNHJ+l9u9EUVR0CVksjwhgpVx4STanfS1O0myOblFUXCc3Q4nPqUvcO1XRhzw2OUh7x99QD0KamgUSmg0akgU7vpK3FXnvxjjHhrTUqJ48AzU+Ex08ekoBjPV9TaO5lVyeFMFJwrzsdld6HUqg9KiuW1sCsOzYhk8IIHycu8PARNCtC/980q5BZfqiA73zjy79ihGC6YJSzAMuhXbrrex730Px6nNmCY+gD59dK/tzd9zspQ9J8u4e1omqYm+LxBxz/QsyqubeWfjOeIiLWDweQi9RnFZA798fR8GvcrY7ASmDuvLwNQovvPZB/4OrV0hLjdfKanBoGn8qV80vwhrWVajMxehDHqVJTP688KKY2w7XMeoOV1L7K6li00hZPFTNK9/Fusnz+Medy/GkQt67WeJN0liJ7zi0/3FuOtiMaQfQ59Q3Hp/ZtIXZYGNNxiC2J7pMXZsyQNYt+c8MeFdqxBmVY282W8O5aYYxtacYKFlP5YiDePIO7yW1F3LqSpcMBu4YG75Zr595r+jaW60unK2525gcr8JoKgtK5YrCqCwrXgng/TpbNx6DJOznolJRiKVJty1l2jQG4gaMR9dQhZqQkbr0Cm3WyP/Yh2Hd5ZwJLeCotKWxDsmwsSkIX0YnhXLoLTo1oqdQojAkJoQjqK0VMa8XA7f19SIBCxznsBZfBzbzn9g/eQ5dEmDME36ErrYFL/E5C+1DTbeWHeajL4RzJvon94yVVH42h2Dqao/yEurjjNtpl/CCAieLP7Wlm1HL6IqCv/zjclEXjH9wVvDbbsrxuHikYs1RDtd/DUpirJuFNkZPTCe7JQojh6pZnPCBW4ZkeSREVJqSCQhd/wY6+ZXsO99D3fNRczTHkXRyRUKT5LETnhcSUUj723KRY0sQxdffPMndIKiwIOzB1DdYOPtT89i6J+ILqa0w8+3O1y813cGVcZI7ivZwPDIEiL6gmHwTIzj7vForJ2lKCpKZCJ1UfHXVa8CaKg7TULmRG5PG8Xv3znMmhONfHX+ICYN7cOmK3pSm6wOjp0s5fC5So7mVdLQ7EBRoH+/SO6ZnsmIrDj6xYfKlTIhApjJqKNvbCgFl/zfe65PHoLunqdxnNyEbd/7NL3/FIacWzGOuztoSpt3Z81TTdP429pT2J1uvnbHoNbiJe1JDvdeQRWjQcd37hnOL/66m317dSwZ4e5V1YsvDyu8zBvzW11uN7tPlDI8K/aqpA68O9y2q5wXT/Ot81UowN/6RlFg6d6Q6Z9s/09qY5y4a4bx2sen+ceOPfzH/XOuqpTZVYreiHnm17FH9cW+fwXN9eVY5jwhC597kCR2wqM0t8LLH53AZNBhys7nyoGWnrqypaoKj985mN+8fYhzucMxGvahC6++6fPcbo2/rDpBsTmBRaVbGBZWQkQKNFdA2JSHgibRiQ438eTS0Tz//hFe+ugENQ026kywdlchh3MrOVdci1vTCLMYGJoZw/CsWIZmxBJmkatiQgSTtMRwThRU+TsMABRVh3HILAxZE7Dt/wDHiY24Lp0m5J5f9vgFircfvcTh3EoemDWgQye33i5oEhlq5OHbc3hhxVHW7i7izsnpXt1fb3OyoJraRjuThvTxdyg3ZT+1Gdu212nUqbzWN5JKY/dP6+vtDagmMObsxVXRD0dRNr94ZQ8LJqUzf2Jat4vXKYqCacwi1Kg+WDe9RNPa3xFyx49QDLJOoydIYic8ynkxk4JL9fzr4qGMzbkF8MyVrSuv0l2eAPzEr37Ld/9vLfYzozAN3n3DClWa1jLp/cCZcmZX7GWUqZCINLBWQ00+JHSzQIqvhZj1fH/JSP66+gTvbsql5U85l9SEMOZPSmV4ZhyZSRGoanAkq0KI66X3CWfn8UtU19t8VkDlZhRzGOYpD6FLzMK68f9wFh3EkO69IXGe0tWelspaK299eobslChmj032VnidNiY7nuQUNx9uy2fUgDiS43tHj8fl3rmKlSuIW3SXV/ax8/glQkx6RgTwkj+a241t9z9xHF2Hrt8QXjSWYvVwz62igD7+ArqockbYHmTltnz2nCzlkbk5DEyJ6nb7hqwJKDojzZ88R/Mnz2O5/XsoOklLuiu4zmZFQHM3ROC8kMWkIYmMzUnwaNvXTvh11dURZjFgzN4Pqobt5AQcJRlorrbnijlLsth0qIT5E9OY5DxFVAbY66H6HODFtfHacm3PZUd6Mp/c9jRrCjbwrY0/4sltTwMtk5wfXziER+ZmM3qMi99+awr/8dXx3D0ti/7JkZLUCRHk0j4voFIYAMMxr6XPHA/GcBxH1vk7FK9xaxqvrDmJ2w1fXTDII/OMPGnkaDchZj1/XX0Sp8vt73B6BKvdyf4z5YwblODRZZU8SbM307zuDziOrsMwZBaWeT/weFJ3JcVg5+sLh/C9+0Zgd7h55s0DvP7xKZqsjm63rU8fhXnaV3AVH8O66SU0TX6Pu0tSY3EVXUTEdePXO0Jzq9jzhqMYbSy9baC3wruOamrGlLMHR1EOzuJsnBczWGnJv+rKqrMsGeeFAUwZ2oe7xsdRfxRcdqg+i8+TOujaleMrJ2tf+bOqKEwf2Y+GvOMBc0VfCOEZqYlhKLRUxhw5ILB6DxRVh9OYBpeO4SrL65GLme86fomThdV8eW428VEWf4dzHZMJHp6TzYsfHOPj3UXc0YOGZHZnTmR3HDhTjt3hDrhhmJqm4a4oxFmwH8e5nWgNVZimfhnj4JYKOjcq6nLleV1Hz+naMjwrlv/82ng+2JrPJ/vOc/BsBUtvG8iY7PhuTWUxZN+Cu7ke+553sJnDME0OnqkxgUgSO3GVy8McOltxynF+IJo1DGP2XkLMC7wVXptUSyOm7P24GyJwlGSxcls+6/YU4YwdiGJuwFEwBDWynC/ffgu2db9DNUDFCdBcN2/bl7ryReavLz8hhPeZjXr6xYdyqrAabuleW1d+VgAe+axwWVLR23KxH/kYy+x/7V6AAUbTNNbvPU+/uFCmj/BeMZTuGpuTwLicBFZuy2dkDxqS2d5SSt6289gl4iLN9E+O9Mn+bkRzu3CWnMRZcABnwQG0hkpQVHR9szFOfwx90qDWbW90wTjrd892aujqjZJEs1HPA7MGMHFIIn9be4oXPzjGyP5xPDRnIDERXZ8jZxwxD81ah+PIxyiWCEyjF3W5rd5OEjvRpo4mdeHGMGoqjLhK09ElFhIVb/NyZO1Tw+owDTzIT4Y+xUc7C9hz0gkoKKE1GPsfwrUfXCUnqc0HZ+eWz/OJG32RXflBe+WHrL++/IQQvjFxSB/e25TLxcrGblWl88pnhWrAMGg6jqPrcddXoIYHVq9id5wtrqWotIEv354d8L0HS+cM5GRhNe9/tJN/GVyNqjehzxyLLrqfv0MLKtX1Nk4UVrNgUrrfht1qTjuu4uM4CvZTeP4w7uZ60BnQJw9FP2Yx+rRRXaogaU7t+BIdHRlVlN4ngp8/MpZP9hbzwbY8fvrybu6elsms0cldmgaiKAqmCUvQrPXY961AMYe39kaKzpHErhdqqxBJR8sFX1vG+edjf8JTf92DMdzK/z705YBYDy05IYxvLBrKYf1yXNWJ6OPPM6y5EUf+WgyDZ9K8Z6O/Q+y0Z6Y+1eaHbKCuqSOE8Iwpw/qyYkseWw6XcP/MAf4O5zrGobfhOLoe+7FPME960N/hdFp70w8+3V9MiEkfcEPyrqW5XVjKjvGTvlsIqzmL/bCKioZ9/wrU6CT0GePQZ45HFyNJ3s3sPlGKpsGkIYk33daTS1potkacRYdx5u/HWXwUnHYwhhA2cCzOvsPRJw9DMXRvqoU31vzTqSpzJ6QyJjueN9ad5q0NZ9l1vJRH5+WQktD5cxFFUTFP+wrN1gZs295AMZgxDJjs8bh7OknseqG2CpF01LVlnN9cf4a6RjvTZ7q8mtR1Ze6famlEteSRYHdyX2k9amJ/TJO+BH8LvsSuPYG4po4QwnMiQ42MGhDH9qOXuHtaVocLOnh7AefL1LBY9JnjcZzajGnMIhRjiNf36UltVVmsqrOy/3Q5t41LxmTs3PeaZmvEXV+OYg5v+afv3ppi7XE315GSf5zGXevQGioJD43mQMgUVl7qx7L7RxJXdwJn3l7sBz7EfmAlalQS+qzxGHKmo4ZGeyWmrvLV7+rN7Dx+iYy+4T5Z0sLdWI2z8CDO/P24Sk6B5kIJicIwcCr69NHoknJISIymvDzwCiddKz7KwveXjGD3yVLe2nCW//fqXm6fkMKiKRkYO3leqKh6LLP/leY1v8X62V9w5u/HNHkpaliMl6LveSSxE122+0Qpu06UctctGagxZ9vdzhNXtrpa4tjkdvPwxVrsKsTM/lZAl9KV3jchRFumj+zHvtPlHDhTzoTBN+9NALAWFfnsZNk4fC7O3F04Tm3BOHyuT/bpTZsOXUDTNGaO7vjyBpqm4Ty7A9vOt9BsVwxz1ZtQLOFfJHqtP0egWq69LxwM5uuGfmpuN+6aEtxlebjK83CV5eOuOk+G5kZNGoRh0oPo00YxotnFey/v5q0dZSy7fzbGIbNxN9W09ATl7cW+fyX2A6vQZ43DOPQ2dAlZnnrLusWXv6vtKS5r4HxZA1+a7b1ecXfNJRwF+3EWHMBdlguAEtkH4/Db0aePRk3IRPHh0kuePOdQFIWJg/swNCOWdz47x9pdRew/Vc7Dc7MZkt65pEzRm7As+BH2o+uw71+J891/xzTmLgxDZ6Oo/h8VFugC9yxXBLSqOitvrDtNVlIE8yel8XFB+4mdtxdrbZemcV9pPTEOFy/3i+KHAXaV8lrS+yZE73a4/Fibn5eD0qOJizSz+dCFDid23tTWcP6+M7KxH/sEw9Dbgvrky+F0sflQCSP6x3W4Eqa7rhzrttdwFR9rGRkydA6aoxmtuR7NWo/WXPf5/7W4q4rRrPXgaqdUvE6PYo5oTfhwOXCVF4Dz8/nrRgu6+EyMIxew3exm5rD7Wp8aGarj9vEpLN+cR+GletL6hKOGRGEcMgvjkFm4a0uxH/8Ux+mtOM/tQo3PxDh0NvrM8QF90dMXdh6/hE5VGO/Bv68rK1k6C/bjri4BQI1Lxzj2bvQZY1Cjkvw2h9Mb5xxhFgNfnT+ISUP68NrHp/jt24eYPLQP98/sT3hIx3uvFZ0e08gFGDLHY93+BrZdb+E4uw3zLY8GzAWJQNW7/5JFl7g1jb+uPonLrfG1OwejU313hakzE4Cn1zQxtNHGR3Fh5Fu8MxxGCNE7eaqE+JWK60vaTOxaljVJYvnmPC5VNdEnxr/DHdsazm8c9hWa1/8RZ95eTkSGtXtBr73k1d8uf7fsOVlGfZOjQ4uRa243jmOfYNu3HBQV05SHMAyeedNeF03TwGn7IvGz1rX+7G69rx6tuR4UBUP2LegSMtHFZ6JEJrS235y3/rq2Z4xKZs2uQtbsKuSbi69+n9XIRMyTv4Rp7F04zm7HfmwD1s/+grLrbfQZY9GnjkSXlOO14aNtuXyR4Nr5/r4cweJ2a+w6UcrQjBgiOpF8tEVzu3BdOnNNJUsFXZ9sTJNntPTMhcV6KPLANSgtmqe/Op6PdhawdlcRx/Kr+OnDYzq9bIgaEY9l7vdx5u/DtuNNmj74JYbBMzFN/lJQX0DyJknsRKdt2FfMycJqHpmbTWK0b08wOjpcw3nhBLdXNnI4zMS2SIsMaxRCeFRnS4h319Rhfflgaz5bDpWwZGZ/n+yzM3RpI1Ai+2A/uo7i4RPbTd7aS179LWzUGDRNY8P+YpLiQhmUduMRHq7K81i3vIK7PB9d6gjMU7/c4RN2RVFahlwazBAR74nwW4WY9UxJ0vPp6TJKq5pIbOMigGK0YBwyG8PgmbiKj+E4uQnHmW04TmwEvRFd0mD0aSPRp47w+ny8Ky8SXPmzL0ewnCqqprrexv3d/LtyFh/H+umfWobiXlHJUpc2EtUc7qFob8yTRV26y2jQcfe0LMZmJ/DrfxzkueVH+enDYzo9b1VRFAyZ49AnD8W2dzmO4xtQI+IwDp/npciDmyR2olMulDfw3qZcRvaPY1qAru3jbqjE+umf0EcnMWXxU9Se3xJUQxvb+2AOpA9sIYTnXLnG3NaSXW2uLxcZZmJk/zi2Hb3IXdMyO1xExVcURcU4bA62ba8TUROcQ6VyL9RReKmeh+cMbHd4nKumBPuBVThzd6GYwjDP+mbLUMYAWhJhoq6cTWoUH+8p4pG5Oe1upygq+pTh6FOGt5TZv3gKZ+FhnEWHsBUdwgaosanoU0egTxuJGp/h0zlgvrLz+CUsJh0j+3d9uQ7NYcW6+a8o5jBMtzyCPmVYS+LuY4F40SQ1MZxvLBrC7989zF/XnOSbi4Z06e9FMVowTV6Ku74c274V6DPG9aglVjxFEjvRYU6Xm5dWncBi0vHIvJyA+CK7drhGlD6U5g0voLkchNz2nTY/WLtSYdOX2vtgvtEHtiR9QgSvKz/DbrS+3PSRSew/U87Bs+WMH+T/uXbXMgycgn3v+yQXnYJrBldcmbyuKdjgkQXSPW3D/vNYTHomDb1+iQNXdQn2gx/iPLcb9AYMw27HNPKOLq0p5m0RBo2pw/qw7ehFFk3NICrs5qXyFb3xiyRPewh3dQnOokO4ig5jP/QR9oOrUCwR6FKGoU8diTtiog9eife/22wOF/tOlzMuJ6HTFRyvamf/SrTGKswLf4q+T+AtS+JvQzNjuffWLN79LJc1iWEsmJTepXYURcE85WEa3/13rNvfwHL79wLiXDSQSGInOuzD7QUUlTXwnXuGERkaGHPWrh2uYd32Oo6yjZhv+zZqVN82n9PVCpuBLBCv0gnR03Vmzq8nDM6IITbCzOZDJQGZ2Cl6E4bBM4g9uApX5Xl0sSmtj3llgXQPqq63sf90ObPGJGM2fnFq5Kq+gP3Ahzhz97QkdMPnYhwxD9USWBcEr3X7hFQ2Hy7hk73nuW9GyxDDjs5vVBQFXUy/lrXvRi5AszbgLD7a0ptXcBDnme0UbPwzuj4D0aeORJ82AjXSO+v9tRevp/72th25iM3u6tZ6ha6q8ziOrsOQM61HJXWeTqrnjk+lqLSB9zfnkRwfxogu9pCq4XGYxt6NbdfbOPP3Ycgc59E4g50kdqJDXG43mw5eYMzAeEYN8OycAE+5PEfAOGI+hoyx/g5HCNHD+bpEu6ooTBuZxIotee3On/I347DbaTj+CdZNLxGy+Kmgqba46eAF3G6NmaO/WMjbfngttt3vgN6IccQ8DMPnBkRC15Ghu4nRIYzLSeCzgxdYMCmNELOhy/MbFXMYhv6TMPSf1FIcpPQcxoqT1J/ag23XW9h2vYUS2adlyGbqiJYCLF4estndvz2b3cU/N55l06ESspIiyE6N6lI7mubGuvU1FFMopvFLuhVToPH0BWNFUXh0Xg4XKxv5y6rj/OzLYzu0ZmBbDENvw3F2J7Ydb6JPHhJ062d6U3B84gq/O11UQ0Ozg4nduKrlTaH11Vj3vYsuaRDGcff4OxwhhPCKqcP6snJrPlsOl7T2xFypraUILo9S8AXFHMaZQeMZengL9gMrMQXB57HD6WbzoQsMz4olIToETdOwH1iJff8H6DPHYZr6ZZ8Vv+iIjg7dnTchjT0ny/jxijdwJ54Cuj8MVlF16PtmEzt8LO5hi3HXleEsOoyz6DCO45+29FwNmY15ykNdat8X8i/W8ZdVJyiramLuhFTuuiUTtYvD+Rynt+IuPYf51q8F5LDcjvDlVA6TQcd37h7O06/t5bnlR/nZl8cSYu58KqKoOszTHqXpg6ex7XkP89QveyHa4NTzZsEKr9h3uhyTQcewzM4tNOkLmq2RwUe2oJhbJrJ3tASur4dRXUvmxQkhOis63MSI/rFsO3oRp8t93eNtLUXgS09ue5q/N55iX7gZ68FVuD5fiDmQ7TtVRl2Tg1ljk1uSuj3vtiR1A6dinvnNgErqOiOtTzhDM2JovNAXzf3F6Z4nh8GqEQkYh95GyPwfEvbI8xgGz8RxfAOO3D0e24enuN0aq3YU8F9v7MfucPHDB0exZEb/LhcicjfXYdv9Drq+2egHTPFwtL7j66kcsZFm/nXxUMprmvnLquO43VqX2tHFZ2AYMhvHic9wlZ7zcJTBSxI7cVNut8aB02UMz4rt1uRib9BcTpo3vIjJ2oxl9rc6NUzG18OoriXz4oQQXTF9ZD/qmxwcPFvh71CuczlpWBUfRq1epfmzl9AuL64dgJwuN2t2FdInJoRBaVHYdryJ/fAaDINnYp7+VRQfrtPalsPlx7r1/AWT0sBpwlXe7+Ybd5NiMGOa/CXUxP4tS0HUXPL6PjuqvKaZZ/5xgBVb8hiTHc/Tj42/6ZIWN2Pb/Q7YrZimflkKeHRSdmo0D8wawJHcStbtLepyO6axd6OERmHd+jc0t9ODEQYvSezETZ0trqGuycHYnIR2t/FH75OmaVi3vILrwnHODhqPLrHtNWikZ0wI0ZMMzYghNsLE5kMX/B1Ku2yqyrsJEWi1l7Dtec/f4bRr3Z4iLlQ0ct+tGTi2vYbj+IaWipdTHg6I0v7F9SUd3rZi5QrOfO1Rqlat5MzXHqVi5QoGpkShhNbgvJSBpnk/+VBUPZZZ30RR9S0Vqp12r+/zRjRNY8exi/zilT1cKG/gX+4YzNcXDiHUbOhWu86SUzjPbMM4Yh66aO8nzT3RzNH9GNk/jpXb8qmqs3apDcVowTTlIdxVxdiPrPdwhMHJ/59aIuDtO1WOUa/ecBimP3qf7HuX4zy7A+PYuylNymx3O+kZE0L0JKqqMH1kP04UVHMkN/B67S7LCzG2FDk49glZTV0/we9ur1V7Squb+HB7AWMHxpJT/AGOU1swjroT08QHAroHJtwY1ubPcYvuYuDLfyPmzkUMfPlvxC26q2Vx56Q8NFsIrirfVFJVw2Ixz3gcd9V5bNv/7pN9tqXR6uDPK4/z8kcnSUkI4/99ZTyThvbp9rHVXE5s215HCY/DOPpOD0Xb+yiKwoOzB4AGb316tsvtGNLHoE8bhX3/B7gqu97711NIYiduyK1p7DtTxrDM2KtKQPub/cRG7Ic+wpBzK8ZR8sEqhOhdbh+fQlKYyl9Xn6S2IXCHOprG34sa2Yf7yuowtTEnsCM602vVUZqm8frHpzHoNJaGbMV5bifGsXdjGndPQCd10LLMzwszf8389NkdKoKiRpWhmBtwXsxE69p0pk7Tpw7HOOpOHKe34DizzTc7vcLJgiqe+useDpwp5+5pmfz4S6OJi7J0u113Uw22XW/hrinBPOVhFP3N1wgU7YuPsrBgcjr7T5dzLK+yy+2YpjwEOj1Ny5+iadUzOM7u8Htvsb8Ezpm6CEi5F2qpbbAzJidwljhwFBzAtv0NdKkjME19OOC/hIUQwtMMeh0PJtTybFEkL68+yfeXjEBVFHQREVcVTNFF+Lc8v6I3YZ7xOOEfPM2dFQ28l+j/5QIAdh6/xMnCKn428ARq0X6M45dgGjnf32F5haKAvm8ejvzhuGvj0UWV+2S/xjGLcV06i3Xr66hx6ehikr2+T4fTzYoteazbU0RCTAj//vAYMvp273fOXV+OM/8Azvx9nxfp0NAPmII+dYRngu7BrlyaA2izIuvc8ansOHaJv39yhv98bDwGfedrOahhsYQu+S8cp7fhOLUZ62d/gR1vtizTkTP9qjU1ezpJ7MQN7TtVjl6nMiKrawtJepqr9BzWT/+MGpeBZda/drgCphBC9DSJJjcPzhrA6+tOs37PeeZOSG1d2qBi5QriFt3l5whb6BIy2RQdwqzqJs6EGDkSbvZrPPVNdt7+9CxfTjhGfMXBluGXQZjUdWb+uC72Is4LA3BcyEKN9E1ip6g6zLO+QdPyp7BueIGQu36BYvDesb9Q3sBfVp3gfFkDt47qx/0z+mMydu0cQXPasB/7FGfeHtwVBQCosSkYxy5Gnz4WNVrm7nfEtRVY26rIatCrPHTbQH77z0Os3V3EwikZXdqXGhKFadQdGEfOx3XxNI6Tm3Gc3ITj+AbU+AwMOdMxZE1AMXa/5zaQSWIn2uXWNPadLmNoRgwWk/9/Vdw1l2j++A8ooVFY5n4PxSBDIIQQvdv0kUkcz69i+eZcctKiSO/j3x4xd3MIrupEdJEVqKH1rfdvjAmlf5Od+0vrUIFDfkzu3tl4jskcYozzIIbBszCOvdtvsbRndd561hRsAFrWnpufPpsFmXOu2qYz88cVVWvptSscgrved8sWqSFRmGd9k+bVv6Z5w4uYpz+GGhLp0X24NY1P9xfz7me5WEw6nrhnOCMHdP1itPPCCaxbXkWrL0dNyMQ0YQn69DGokb6Zo9gbDcmIYVxOAqt3FjJxSB8SujFsVlFU9EmD0CcNQrM24Di3E8fJzdi2/g3bzn+gz5yAcdB01ISsHjniy/9n6yJg5V+so7rexj3T2y9M4kvNm18GRSFk3rJOLWsghBA9laIoPDIvh7xX9vDnlcf5xaPj/HIhrq7JzqptBdiOTQVNxVmcjRpWzc6ES4zNicelKPy1XxSPXKzlgdI6Qq6Zb1e5azdkDfZ6nGWlCpzdzILQA+j7T8I0ZWlAntwtyJzDgsw5rM5bf11C11W6+As4SrJwlmR5pL2O0icNwjTlYWw7/kHjOz/BNP4+DIOme6TqaE2DjVdWn+RYfhXDs2L5yvxBRIYau9SWZmvEtuttHKe3okQmYrnjSfRJOd2OUXTMA7MGcCSvkn98cobv3jvcI3+XijkM49DbMAyZjbs8D8epzTjO7cZ5ZitqdBKG7OnoB04O2rUq2yKJnWjX/lPl6FSFkf0DYximadQdKBEJctVMCCGuEGYx8Pidg/n1Wwf5xydneOwO7ydIlzkVlX2Rg9j9fzux2d3o4ovRJxbiro3DWZbKSx+d4K1PDTiiBuKOP8+rfRUeLK1lYUUDtv0fYBy9CEVRaMwvwOLlxM7ucKEdKua+kN2oKSMw3/pYQCxp4CuK6kbfpwDn+RxyL9SS1c+zPWc3Yhw8E11SDrZtb2Db9hqOM9sw3/JIt9rcf7qc1z4+hd3h4uE5A7l1VL8uJwOOvL3Ytv8dzVqPceSClt9LfdcSRNE10eEmFk3J4J3PznHobAWjBnqutoOiKOgSstAlZGGa+CCOvD04Tm3GtustbHveRZ8+umUuXr9BQf+ZIImdaJP2+TDMIRkxhHRzvRdP0aeO9HcIQggRkLJTo7ljUjqrdhQwJCOGtlf19BwNOBGWwebYUdQZwhiZEs29t2bxqyNrAVAtjegSC/l21pN8duAC+8+k47yYgSOqjDf65nKvWszY/R+g2RoxTXqwzX1cWXhha8muDlWAbDdeTWPn+k+4W92CLSaLuNu+haL2vlMgfcJ5nCWZfLSjgO/e59viH7qoJCwLfoTz3E5sO9+i6f3/IDwFGi6A1omCqVa7k7c2nGXrkYukJYbz+MLB9I0N7XQ8mr0JV+V5HEfX4yzYjxqbhmXeD9DFpXW6LeEZs8cms/3YRf6x4SyDM2IwGa6fI9lwcD9ho8Z0eR+K0YIxZzrGnOm4qs7jOLUFx9kdOPP2oITHYciehmHgVNQw3w1Z9qTe96kmOqSwtJ6KWit3Tkn3dyhCCCE6YOHUdE4WVvP6utN8N0XBG2MtnC43R8Mz2RM1hHJTNInWSuaX7WDOk89ct62iwOD0GAanx/CvH7+DsywFZ2kqzTWT+UdEBdlZjYQf+wTN1oimXV+M4spCC20VXYCWk/zaRju1DXbqGu0tPzfaqWu0Ud9gw9xwnkRrAenaeUboyqk1JpK66Ie9tjdG0bnQ9ynkcK6RotJ6UhN9OwRNURQMAyajTx2Bbc+7hGmbsMRCYyk0d7Cmy9/WnmLvyTIWTEpj0dQM9Lob97BomoZWX4Grqgh3RRHuqvO4KovQ6j9fA1JnwDj+PozD50pBNj/T61QenpPNM28eYMWWPB6YNeC6baxFRd1K7K6ki0lBN3kppvH34Sw4gOPUZuz73se+fwXmGV/H0H+iR/bjS5LYiTbt+3wY5qgBgbPMgRBCiPbpVJXHFw7mP17ZyxvFoTzlcGFs44p3VzRZHWw+VMIn+85TkziVeFs1d17ayuCGfDoy+E0x2jAkn0PfN78lwbuUzs8OxrIkfgJTzu4ASx+cDZNxGCJotDposjpx1UWDy4DmMKE5jLyx7vTnSZud2kYbtY127I6ru3pi1AZyDCUMNV8iS3cRMzY0HdSakrgUPY20GXf1+Kp45tTUGz6uTyxEX57D6p2FfHNxxwuweJJiCsV8y6NcXL6J8GSISIHwftC88f8wDJ6JLrF/m8Mqi0rr2XOyjDsmp3H3tOvnCmpOO+7qC7gqi3BXFuGuPI+r6jzYmy/vGTUyEV18JmrOdHSxqajxGTJvP4AMTIni1lH9WL/3PKqqcN+t3i9youiNGPpPxNB/Iu66Mhy5e1Cj+3l1n94iiZ24zuVhmDlp0YRZAmMY5s10puyzEEL0VHGRFr5252Cefe8Ib35yhq/MH9St9iprrXyy7zybD5dgs7sYlBbNnDNryGgq6VBCdy1F58LQtwB9YhFL4r7D2l0Wzjcr3KPtxfrmj1jbNJItthzcqMCEq567t6qMyFAjEaFGspIiiQg1EmNx09dZTExjHqFVZ9A1tnT7KKEx6JMnoEseir7fYCLMYd16H4LJzXozFL2TGaOTWburkIuVjV0axugpjgaoOgV6M4QkQKjpEM5zO1FjUjAMntGS4BlDUEwhYDDzwdZ8LCY9t49Pxd1Ui7uyCFfledxVnydyNZe+GNepN6HGpmDoPwk1JgVdXCpqdLJU1A4CD902EEWBj3cXUd9k59F5OehU38x9UyMSMI26wyf78gZJ7MR1zpc1UFbdzLwJN77qF0g6U/ZZCCF6spH945gZa2XjkYtk9Ytk2ojOX/gqvFTPuj1F7DlZBsD4wQncPi6VtD7hnPn0j92OUVHd3DqyH/1e/zXH3dGsChvMxNgC7grdx9z4C5QPvJvnSj5F0TlRDDbQ23l29v+gud24KwpwFh/DVXwMV14uaC7QG9ElDUI/Yg665CGokX0DstploJgzLoUN+86zZlchjy3wXbGd9jitUFcEiT/5PY5zu3Cc+BTbttev2kZDYYnbgBoVgvbuezQ217U+poTGoMamYkwfgxqbii42FSUiPugLYfQGh8uPXXcOp6oKD902kIgQIyu35dPY7OTri4a0OedOXM2riV1DQwM//OEPsdvt1NbW8stf/pJBg1quHp4+fZonnniCdevWeTME0QX7TpejKHi0IpEQQgjPyP3BE7jqWk5qq1atRBcR0bow+WULxyRw6YyOv68/Q1oH51Fpmsax/Co+3l3EycJqzEYdt41LZvaYFGIjvbPunFZXy2BqoQG4BNXREDPSRuqhF7g3wszHsWGY3BoD6u00b3gB54UTYGsEFNS4NIwj5qFLHtLSs6MLjhEmgSAi1Mi0EUlsPHCBRVMyiOvGumGepBjMGAfdiiFnOu7KQtx15Wj2JrA3sfNgPraGeianRKLT69HFprQkcTEpKL2oR7anKa4vafPivKIoLJqaQXiIgTfXn+F3/zzEE/cO90OEwcWrid3KlStZuHAh8+fPZ+PGjTz33HO8+OKLOBwOfvGLX+BwOLy5e9EFmqax71QZOanRRIT0zsnlQggRSK6tAnc5qWvvNkDE6LE8nmPn6b/t5YUVR9GyDCj6tr9zHU43u0+Usm5vERfKG4kON3HfjCymj+hHiNm3A3us1RB636+w7f+AsUfXMbreikFreczVdA5D+mh0/Yag6zdY5kV109wJqXx28AJrdxfx8O3Z/g7nKoqioItLRxeXDsC54lpeu2ji3luzCJsoVSt7k5mjkwmzGHhp1Qn+580DPBLpncJQPYVXP7GXLl3a+nNlZSUJCQkAPP/889xxxx288sor3ty96IJLVU1cqmpi9thkf4cihBCCrleBiwgx8s3FQ3nm7wfQcodhHHiAK0cnNlkdbPq8IEptg53k+FAeWzCICYMTb1ppsD3hxrDWCpbhxq71oihGC+ZJD/Ji4zGGVVRSbtRzITKKH878Txle6UExEWamDOvL1iMXmTSkD1n9IgL2/V2xNY+IEAOzRsu5SW80flAioRYDz79/lBdrwvhFo52ILi5E39P55FJcVVUVr776Ki+//DKHDx/m5MmTfO973+tSYhcb67vu9vj4nrMS/ZXOtHHf5de69VgpADPHpxMf7f2hGT31PQ52cly8T97j4OLL43XtvppDTVfdd6PP8Lbu/5cGB39+X8NZkomhXx5umxnnpXT+7fAOmm0uRg6M565b+zNqYHyHTuzzo6Jw1NS03jZERbXu/693/S/vHPuIJUNvXnwgPj78hq/lvx9sGV76zrGP+G4H2uuJQkpNXvndu9zmwwsGs+90Gf/19/0kxIQwdXgSU0cm0T856qa/C56I69rj31abR89VcLKwmscWDiW5X1S39xlMeuL3xLWvqaO/47fGh5OUGMGPn93MWxvP8dOvjPfbhYhAPi5eT+wcDgfLli1j2bJlxMTE8IMf/IA//vGPXT4YlZUNuN2ah6O8Xnx8OOXl9V7fT3u6uwDjjegiIq4auqOLiGh9rTsOXyA5PgycTq+/fn+/x6Jtcly8T97j4OLr43XtvhobbTfd/40eHzcgllfjy7BdGIC7MQp3TRwoMHJwHLePT21dy6yiou214q6V8Zs/tGy/cgVxi+66bv9NHYj3RjFfe39H2+uJvPXaL7epA575+iQOni1n76kyVm7J5f1N54iLNDMuJ4FxgxJISwy/7pzNW38T17apaRqvrjpGVJiRcQNie9XvQU/9nrj8mp7c9nRr7/57x1cTbgzjmalPtW7XVlGVaIueufFWPjp+ifc/PdOlwlDdFQjHRVWVdju6vJrYuVwuli1bxqxZs5g1axY7duxoLagCUF5ezre//W2ef/55b4YRsG6UvHlyAcZrXZ5kf+WXMrQMyzlbXMu8icFTDVMIIcSNKYrCHx6+j1+9sZ9L1TBnfBqzxyYTE9G9gig3Wy9NBL4rT66Jg+j4KO6MeZS9p8pYv/c8a3cXER9lZmxOAuNzEklNDPNpL8nxgirOFtey9LaBHluTUQSG1t+7dm5fW1TlctGoIcCRpNt4c7WTnNQoEqJDfBFu0PBqYrd8+XI2bdpEeXk5q1evJikpiY8++qj18ZkzZ/bapA68m7x1xbH8KtyaxogsmZYqhBA9icmo42dfHsPa/E9ZNLC/R9oMpO8v0TXXnkw3ajXcMiKJW0Yk0dDs4MCZlp68dbvPs3ZXEQlRFsbmJDBnUjrhRtWrSZ6maazYkk9MhMkvPTMisFweaaYAd5Rt568pC3npoxM8uXQ0P93xy6t+l6/t/etNvJrYLVmyhCVLlrT7+MaNG725e9FJh89VEmYxkJkklcaEEKKnMRp06GX12qCSHO6/hCbMYmDaiCSmjUiivsnOwbMV7D1Zyse7i1izq5CEaEvLcM2cBFISPN+Tdzi3kvyLdTwyNxuDXtajE1+IcDYxp3w3q3S3sGZX0U17/3oT+YgXALjdGkfzKhmWGYOqBmZVLCGEEKI3aWt9L38IDzFeleSdvVjPZ3uLWLuriNU7C0mMbunJG5eT0DpnszucLjcrtuQRH9VSuVOIaw1uyKd00D18uC0f/aAI1NDrl33pjSSxEwDkldTR0OxgRH8ZhimEECJw+LPXSlwvPMTI7RPTGZ0VS12TnQNnytl3qow1uwpZvbOQe6ZnsmBSerf28d6mXM6XNfCvi4d2eekN4X9XLn9y+banKMBDc7I5W1xLTe5wTEN3oKhuj7UfrCSxEwAczq1AVRSGZsT4OxQhhBBBzNOJWKD0WonrRYQYuXVkP24d2Y+6RjtvrDvNB1vzGZoRS1qfrvXc7T/dUrhl5uh+jM1J8HDEwpcuz3NbnbeeBZlzPN5+mMXAVxcM4rdvH8JxPhtj2kmPtd1WVc5gIJdBerErK5odPlfJgORIQswGP0YkhBDCm3zR+xWMJ0Oi+yJCjTwyL4cwi4GXV5/A4ex870lpdROvrDlJRt9w7p85wAtRikBxbe9dV3vzhqTHoEsswFWahj1/CM5Lqbhq4iivae7W8mjF9SVdfq4/SY9dL3a5ollVnZXi8gbum5Hl54iEEELcTFtrkXaUJF3Cm8IsBh6dl8Mf3zvCym353Htrx88rHIqOP604hqoofHPxUCmY0sN1tjfvRp97hpQzaDYLrqo+uFwpAPz4zE70OpXEaAuJMSEkxljoEx1CYkwIfWJDCLcY/LbAuTdJYic4nFsJIMscCCFEEGhvLdJA5s25NiKwjOgfxy3D+7J2dyEjB8TRv19kh563IW48RWUNfPfe4cRFWrwcpQgU144iuHJtxTUFG1qXLrjR556iujENPIimAU4jbmsoX0p/hNKqJi5VNXGxspHD5ypwXdGDF2LStyR5MZbP/2/5lxgdgskYvGsmSmIXYC4vwAhQtWoluoiI1l9mbzl8roK4SDN9Y2WRRyGEEJ7n7bk2IrA8MGsAJwqq+etHJ/iPr47HdJPFxY+GZ3I4cgALJqVJEbde5tpRBN1ZukBRAIMdncF+3dqHLrebyjoblyqbWhK+6pb/T5+vYefx0qu2jQ43MWiEApmdey2BQBK7AHNlN3Nbtz3N5nBxsrCaaSOSemSXtBBCCCF8p+HgfsJGjeGrCwbxv28d5L1NuSy9bWC7xSjKjFGsi59IatMlFt9yq+8DFr2CTlVJiLKQEGWBrNirHrM5XJRVN1Na1cTFqiYqaprRmxr9FGn3SGLXy50qrMbhdDPiml9yIYQQQojOshYVETZqDIPSopk9JpkN+4sZPSCOYnfJVYmd261RYorjo8QpmNx2FpZuQad+yY+Ri97KZNCRkhBGSsIXQ8RX5533Y0RdJ4ldL3cktxKTQUd2apS/QxFCCCFED3LPrVkczavklTUnmTKrperlifwqThRUc7KwmqaU+ejcLu4v2UCYy+rvcEUAuNl83CsruovrSWLXi2maxuHcCganR2PQB+9EUSGE6I16wglOdyp8isBnMuh47I7B/Pff97PmIx0fOnYBEBNhYnR2PDHr/0l600VC3DY/Ryq8qTPLrNxsPu7liu5XkuJMX5DEzoM6s5jh5SIpviqQ0pYL5Y1U1dlYOCXD5/sWQghxYzcrptXWCU6wufx6mjeswTJ7vp+jEd7Qv18kD8wawOaTp5kxOJshGTEkRltQFIUz7xf4OzzhA95eZkWKM31BEjsPKq4v6fAv75VXKK+9Wumrq5eHcysAGJYp8+uEEMJfrrzafOWVZl8X0xI9k797M1rL1/eD92vX88mJsNYTcSECTXvLLQQLSewCjC/XJzp8rpK0xHCiw01e3Y8QQoj2XT5p6MyoDyE6yt+9Gd0pXy96r84M3/SkYP99Vf0dgPCP+iY7uSW1jOgvvXVCCBEIJKkTQogW8nnYNZLY9VLHC6rQNBieJQuBCiGEEEKI4OavXr5AIkMxe6nkuDDmjEshvW+4v0MRQgghRJC7WbEfIbzNE718/p6T2l2S2AUob5exTk4I44FZA7y6DyGEEEL0DlLsR/QE/p6T+v/bu/fYqKq1j+O/oZepWiBIKlibEy5GtJGCgXi8vLGRJm8sEFAQCoGBCBUwIRpbiYTCCUJB0EQF0RAgIQbUaAREAjHKzYiKBaJFCFjgiFJFmXKToaMtM+v9A9sX6J5CYfbes2e+n7+Yy16z5nnWavuw197rRrEUM0Elw22sAQC4FEul3EPsgeRHYQcAABzBDRHcQ+yB5EdhBwAAAMddulevnfv2AqmCa+wAAABSkNs3iuj52mJH9u0F2sqrS5cp7AAAAFKQ128UAdjFq0uXKeziYPqOOc3/47Xp6Ga1z8xu/mEJAAAAAHbjGrs4uHQZg9VjAACAZHblNXJcMwc4jzN2AAAAuCFNm5G39Zo5u/ftBVIJZ+wAAADgCvbtBeKHwg4AAAC2uPJOm07feRNIJSzFBAAASGHxvLX7lUsrufMm4BzO2AEAAKSweN7anaWVgHso7AAAgKtu6d7N7S4AgOdR2AEAAFd1fuDfbncBADyPwg4AAAC2iud1fACsUdi55NKNO9nEEwBwJTZ8RjKJ53V8AKxxV0yX9HxtsULf7eEiYwCApevd8BkAkJo4Y+ciijoAAAAA8UBhBwAAAAAeR2EHAAAAAB5HYQcAAAAAHkdh54Dq4D63uwAAAAAgiVHYOaD23G9udwEAAABAEqOwAwAAAACPo7ADAAAAAI9jg3IbTd8xR+caQpKkTUc3q31mthb8z39c7hUAAACAZMMZuzhon5lt+bipqGty5WMAAAAAiAfO2MVB01m4jf/9TIN6/K/LvQEAAACQajhjBwBAAsv617/c7gIAwAMo7AAASGDZ9/VzuwsAAA9wpbCrqanRF198oVCIa84AAAAA4EbZeo1dKBTSCy+8oIaGBp09e1aVlZX68ccf9emnn6p3795auHChPvzwQ2VnZ1+9MQAAAACAJVsLu/Xr12vIkCEaOHCgtm7dqjfffFN9+vTR4sWLlZmZqYMHD+rw4cPq27evnd0AAAAAgKRma2E3ZsyY5n+fPHlSt912myZPnqxwOKxNmzYpGAwqPz/fzi4AAAAAQNJzZLuDU6dOaeXKlVqxYoUkqa6uTps3b9att97a5rY6d3Zu2WZOTvs2vf/mP/yXHdMxq4PO/vXnZY/b2mayIx6JibzYjxh7C/myHzH2FvJlP2KcmBI5Lz5jjLHzAxobGzVp0iSNHTtWRUVFl71WXl6uQYMGacCAAdfc3smTIUWjtnZZ0sWkBYPn2nRMrH3s2N/O2vXEGPYjL/Yjxt5CvuxHjL2FfNmPGCemRMhLu3a+mCe6bL0rZiQSUXl5uYqKilRUVCRjjIYMGaJgMChJOnv2rDp27GhnFxyV1z7X7S4AAAAASEG2LsVcs2aNtm/frmAwqI0bNyo3N1fl5eWaPHmy/H6/HnroIfXrlzz78/TJudfyeQo+AAAAAHaytbAbOXKkRo4c2eL5wsJCOz824cQq+AAAAAAgHlzZoBwAAAAAED8UdgAAAADgcRR2AAAAAOBxFHYAAAAA4HEUdgAAAADgcRR2AAAAAOBxFHYAAAAA4HEUdgAAAADgcRR2AAAAAOBxFHYAAAAA4HEUdgAAAADgcRR2AAAAAOBx6W53oK3atfMl5WelKmKcmMiL/Yixt5Av+xFjbyFf9iPGicntvLT2+T5jjHGwLwAAAACAOGMpJgAAAAB4HIUdAAAAAHgchR0AAAAAeByFHQAAAAB4HIUdAAAAAHgchR0AAAAAeByFHQAAAAB4HIUdAAAAAHgchR0AAAAAeJynCrtQKKQpU6ZowoQJGj58uA4cOKDjx4+rpKREJSUlevfdd5vf29jYqKefflrffvtt83ObNm3SmDFjNGrUKC1atKjVz4rVriStXbtWFRUVV+3vsmXL9MQTT2jixImqq6trfv6bb77RxIkTr/VrO8prMbbqw7p161RcXKxAIKBAIKBjx45d69dPWG7nZcOGDc3xDAQC6tOnj06cOBGzDca+/TFOlbEfi9v5+uOPPzRx4sTmWB8/frzVNpgT9seYOeFuvs6cOaOysjIFAgGNHz9ehw4darUN5oT9MU6VOeFkXiTrMRprPFuxdewbD1m9erXZuHGjMcaYLVu2mGeeecZMmDDBbN++3USjUTN+/Hjz66+/msbGRlNaWmoGDRpkdu7caYwx5sSJE6a4uNj89ddfJhqNmlGjRjW/ZsWqXWOM+eWXX8zgwYPNuXPnWu3rnj17TElJiblw4YL5+uuvzcyZM40xxnz22Wdm3LhxZuzYsfEISdx5KcZWfTDGmBkzZph9+/bdaCgSSiLkpUl1dbUpKyuLeTxj3/4Yp9LYj8XtfC1cuNCsW7fOGGPMhg0bzOzZs2Mez5ywP8bMCffzNW/ePPP+++8bY4zZsWNHq+OaOWF/jFNpTjiZF6sxGms8W7F77HvqjN2YMWM0cOBASdLJkyeVk5OjAwcOqLCwUD6fTw8//LCqqqokSXPnztW9997bfOzPP/+sHj16yO/3y+fzKTc3V6FQyPJzIpGIZbvRaFTTpk3TnXfeqY8//linT5+O2devvvpKgwcPVlpamh544AF9//33kqR77rlH8+bNi1NE4s9LMbbqgyTt3r1bCxYs0LBhw1RZWXkj4UgYbuflUq+99prKyspi9pWxb3+MrfogJefYj8XtfHXu3Fk1NTUKh8Oqrq5Wjx49YvaVOWF/jK36IDEnnMxXTU2N+vbtK0mtHi8xJ5yIsVUfpOScE07lRbIeo7HGsxW7x376DbfgglOnTmnlypVavny59u7d2/x8hw4ddOLECaWnp6tr166XHdO7d2/99ttv2rx5s8LhsL777jvNnz9fs2fP1pEjRy577yuvvKIuXbq0aHf9+vXy+XyaPn26jh07pvHjx6uyslKvvvrqZccXFhbq/Pnzys/PlyT5fD7V19dLkvLy8lRbWxvXeNjBCzEuLS1t0QdjjJ577jkVFxdLkp566ilVVVXp/vvvj0tc3OZWXprs3r1bt99+u+644w7t3buXsf8Pp2OcimM/FrfyNXjwYFVUVGjVqlUKBoMKBALMiUs4HWPmxP9zM19Lly7VuHHjtGLFCg0dOpQ5cQmnY5yKc8LuvCxatMhyjFqNZ7fGvucKu8bGRpWXl6u8vFxdu3ZVQ0ND82vnz5+XMcbyOL/fr9WrV2vXrl164403NGXKFPn9fs2ePbvFeyORiGW7P/zwg0aMGKEuXbqoS5cuyszMVIcOHbRq1aoWbSxZskThcLj58dX+VyWReCXGVnw+nwYMGCCfzydJ6tWrlw4fPpwUP7TczEuTVatWNa//LigoYOz/w+kYW0nmsR+Lm/lasmSJXnzxRd199936888/NWXKFL333nvMiX84HWMrzAln8/Xkk0+qoKBAn3/+uWpqavT666/L7/czJ/7hdIytJPOccCIvsWRnZ7cYz279jeSppZiRSETl5eUqKipSUVGR0tLS1LFjx+YLqvfv36+8vLyYx998883q1KmTsrOzNWLEiJjvi9Vuz549m6v3uro6/f777y0q/yZ9+/bVzp07JUlHjx5Vp06drus7O81LMbZSW1ur0tJSRSIRnT9/Xjt27GixDMGL3M6LJJ07d06HDh1SQUFBq31l7NsfYyvJOvZjcTtfoVBI+/fvlyTt3Lmz+Q8lK8wJ+2NshTnh/M+wu+66S9XV1Zo1a5b8fn/MNpgT9sfYSrLOCafyEktbxrPdY99TZ+zWrFmj7du3KxgMauPGjcrNzdWECRM0depU3Xfffdq3b5/mzJkT8/hoNKr58+frpZdeuuovCKt209LSNHPmTI0aNUpnzpzRtGnTlJWVZXn8gw8+qCVLlqiyslJ79uxRIBC4oe/uFC/F2EpeXp4eeeQRDRw4UH6/X6NHj76uP5ITjdt5kaQvv/xS/fv3v2pfGfv2x9hKso79WNzOV8+ePTVjxgzNmTNHubm5rV6rwpywP8ZWmBPO/wzbsmWLbrnlFhUWFrZ6PHPC/hhbSdY54WRerLRlPNs99n0m1rlJDzly5Ij279+vwsJCdezYMWHabWho0NatW5WTk6N+/frFrV9uSNQYp7pEzQtj3712U12i5os54V67qS5R88WccK/dVOFk/Noynu0c+0lR2AEAAABAKvPUNXYAAAAAgJYo7AAAAADA4yjsAABog127dqm0tFSSVF1drZEjR7rcIwAAPHZXTAAA7FJWVqaqqiplZ2e3eO2nn35SVVWVOnTooPT0dGVkZEiSMjIylJGRoWg0quLiYmVnZyszM1MHDx7U2rVr1b17d6e/BgAgRVHYAQCgi3tHlZWVadiwYS1e69Wrl9LS0nT06FHNmjVLwWBQo0ePVjgc1rFjx7R8+XJlZmZq0aJFysvL09ChQ5Wezq9YAIBzWIoJAIB01UIsLS1N3bt318svv6xu3bpp0qRJGj58uPLz8zV58mRJFzfS3rZtm0Kh0HXthwQAwPWisAMA4BpcWqhduHBB9fX1CofDzc+1a9dO4XBY9fX1YichAIDTWCcCAIAuFm6LFy/WO++8E/P1JrW1tVq9erXC4bDat28vSYpGo3r00UeVl5enZcuWOdJnAACaUNgBAKCLhduzzz4b8xq7S/Xr109vv/22Dhw4oPnz50uS/v77b1VUVCgrK0u1tbWO9BkAgCYUdgAA6OIZt9YYY/TBBx/oo48+UjQaVSAQUCQSUSgU0ltvvaXTp0/rk08+UXp6uoYPH+5QrwEAuIjCDgCAa2CMUUlJifLz87V+/XrNnDlTS5cuVf/+/ZWRkaFt27YpKyvL7W4CAFIUhR0AAJIikUir19hFIhHV1dWpoqJClZWVkqTHHntMzz//vDp37qzHH3+8+b3RaJS7YgIAHEVhBwCALhZurV1jd+HCBdXV1Wnq1KkqKCiQJHXr1k0zZszQ3LlzNWLECEnSggUL1NDQoJycHEf7DwBIbT7DPZkBALghjY2NysjIkCTV19frpptu4owdAMBRFHYAAAAA4HFsUA4AAAAAHkdhBwAAAAAeR2EHAAAAAB5HYQcAAAAAHkdhBwAAAAAeR2EHAAAAAB73f472B6jStT9FAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 1080x432 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 有了5日均线和10日均线数据后，就可以将其绘制在图形中了，代码如下：\n",
    "plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(15,6))\n",
    "\n",
    "mpf.candlestick_ochl(ax, df_arr, width=0.6, colorup='r', colordown='g', alpha=1.0) \n",
    "plt.plot(df_arr[:,0], df['MA5'])  # 绘制5日均线\n",
    "plt.plot(df_arr[:,0], df['MA10'])  # 绘制10日均线\n",
    "\n",
    "plt.grid(True)  # 绘制网格\n",
    "\n",
    "plt.title('万科A')  # 设置标题\n",
    "plt.xlabel('日期')  # 设置X轴图例\n",
    "plt.ylabel('价格')  # 设置Y轴图例\n",
    "\n",
    "ax.xaxis_date () # 设置x轴的刻度为日期"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "(7) 绘制股票K线图、均线图、成交量柱状图\n",
    "\n",
    "在现实中，和股票K线图、均线图一同出现的还有每日成交量的的柱状图，我们利用2.3.2节绘制多图的知识点，即可通过如下代码在一张画布中绘制两个子图，包含K线图、均线图、成交量柱状图："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA40AAAHwCAYAAAACd4oPAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAACP3klEQVR4nOzdd5hU5cH+8e+ZtrNlthd2WZay9I6IgqAooEFEikYsqEk0v8QYNSompqhJjPH1TdVoTKJGosY3xo4KdgREQTrSkd4W2ALbZ6ed3x8LK21gy5Sd3ftzXVxMOXPOM+fMzpz7PM0wTdNERERERERE5BQs0S6AiIiIiIiItF4KjSIiIiIiIhKUQqOIiIiIiIgEpdAoIiIiIiIiQSk0ioiIiIiISFAKjSIiIlF08OBB3n77bb7//e9TWlp63ONjxoyJYslERETq2aJdABERkbZk/PjxOJ1OLBYLdXV1OBwODMNoeD4QCFBdXc2//vUvbrrpJsrLy0lLS+OHP/whVquVv/3tb5x//vnk5eVhtVpPWv+MGTPIzs7m3nvvjeTbEhGRdkyhUUREJITee++9htvXXHMN999/P/369Tvlsi+99BJ79uzhb3/7GxMnTgRg0KBB3HXXXTz77LOnfM0XX3xBZmZm6AsuIiIShJqnioiIhElNTQ3JycmnfC4QCJCYmNhw3zRNfD4f5513HqNHj2bBggUnvearr74iNzeXiooKDh06FLZyi4iIHMswTdOMdiFERETaonPPPZeUlBQslq+v0X7jG9/grrvuYsWKFfziF7+grq6O8vJyOnbsyPXXX09dXR3XXnstFRUVXH311Xz44YcNr33++ec5cOAAxcXFjBkzhvHjx0fjbYmISDujmkYREZEwKC4uJjExkQ8++ID33nuP9957j+uvvx6PxwPAWWedxbvvvsvIkSMZNmwYkyZNYsqUKaxfv54777wTr9d70joXL17MOeecw7Bhw1i0aFGk35KIiLRT6tMoIiISBgsXLmTo0KHHPVZVVXVcc9WysjI++OADhg4dSlVVFQ899BC//e1vefLJJ6moqMDr9TJ//nyysrLo1asXy5YtY9WqVQQCAVJSUiL9lkREpJ1STaOIiEgYvPjii0yePPm4xyoqKo4Le4888ghXXnklAD/60Y/Izs7mt7/9LUuXLuXHP/4xFRUVrFmzBovFwrp168jPz+fzzz9n8eLFVFdXU1RUFNH3JCIi7ZNCo4iISIi9/PLLBAIBRo4cedzjhw4dIjU1FYDPPvuMAwcONPRLNAyD3NxcLrnkEp588kmeffZZMjIyuO222+jduzeLFy9m4MCBDesaNGgQixcvjth7EhGR9kuhUUREJISWLFnCH/7wBx555JGG+RkPHz7M1q1bWbt2Lfn5+QCMHDmSxx9//Lg5HK+88krOPfdcEhMTMU2TY8eqW7RoEYMGDWq4P2jQIPVrFBGRiFCfRhERkRCpqanhz3/+M3/605/o2bNnw+OLFy/mz3/+M+PHj6d///4NjycnJ+P1ek856I3H42kYNAdg5syZxz3/ve99LwzvQERE5GSackNERERERESCUvNUERERERERCUqhUURERERERIJSaBQREREREZGgFBpFREREREQkKI2eesShQ9UEApEZEygjI4nS0qqIbKu90j5unXRcwkv7N7boeIWf9nFs0fEKP+3j1qk1HBeLxSAtLTHo8wqNRwQCZsRC49HtSXhpH7dOOi7hpf0bW3S8wk/7OLboeIWf9nHr1NqPi5qnioiIiIiISFAKjSIiIiIiIhKUQqOIiIiIiIgEpdAoIiIiIiIiQSk0ioiIiIiISFAKjSIiIiIiIhKUQqOIiERN1crl0S6CiIiInIFCo4iIRI17165oF0FERETOQKFRREREREREgrJFuwDNUVVVxT333IPH46G8vJyHHnqIZcuWMWfOHLxeL5deeik333xztIspIiIiIiIS82IyNM6aNYtJkyYxYcIE5s6dyyOPPML+/ft5//33CQQCXH755UyePJnMzMxoF1VERERERCSmxWRonD59esPt0tJSunTpwr59+9i9ezderxfTNElOTm7SOjMykkJdzNPKynJFdHvtkfZx66TjEl6xtn9rE+Nirsyh1J7fe6RoH8cWHa/w0z5unVr7cYnJ0HhUWVkZM2fO5JlnniE5OZkXXngBq9XKxIkTcTgcTVpXaWkVgYAZppIeLyvLRXFxZUS21V5pH7dOOi7hFYv7t7q6LubKHCqxeLxijfZxbNHxCj/t49apNRwXi8U4bSVazA6E4/V6mTFjBjNmzMAwDLZt28bPf/5z7r33Xg4dOsSiRYuiXUQREREREZGYF5Oh0e/3M2PGDMaOHcvYsWOprKxk+/bt1NbWUlVVxZo1a6JdRBERERER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uHVq7cfFME3TjHYhmsPr9fK9732P66+/nrFjxx733IwZM7jssssYM2ZMo9dXWlpFIBCZXZGV5aK4uLJJr1ldvJZBWf1PelwD5Jxac/axhJ+OS3hp/8YWHa/w0z6OLTpe4ad93Dq1huNisRinrUSLySk3/H4/M2bMYOzYsYwdOxbTNJk0aRLFxcUAlJeXk5KSEuVShtapAiNAvisvwiUREREREZH2JCabp7722mvMmzeP4uJiZs+eTV5eHjNmzOD73/8+cXFxnHfeeQwd2j5GhQsWJkVEREREREIhJkPjtGnTmDZt2kmPjx49OgqlERERERERabtisnmqiIiIiIiIRIZCo4iIiIiIiASl0CgiIiIiIiJBKTSKiIiIiIhIUAqNIiIiIiIiElRMjp4aDhaL0aa31x5pH7dOOi7hpf0bW3S8wk/7OLboeIWf9nHrFO3jcqbtG6ZpmhEqi4iIiIiIiMQYNU8VERERERGRoBQaRUREREREJCiFRhEREREREQlKoVFERERERESCUmgUERERERGRoBQaRUREREREJCiFRhEREREREQlKoVFERERERESCUmgUERERERGRoBQaRUREREREJCiFRhEREREREQlKoVFERERERESCUmgUERERERGRoBQaRUREREREJCiFRhEREREREQlKoVFERERERESCUmgUERERERGRoBQaRUREREREJCiFRhEREREREQlKoVFERERERESCUmgUERERERGRoBQaRUREREREJCiFRhEREREREQlKoVFERERERESCUmgUERERERGRoBQaRUREREREJCiFRhEREREREQlKoVFERERERESCUmgUERERERGRoBQaRUREREREJCiFRhEREREREQlKoVFERERERESCUmgUERERERGRoBQaRUREREREJCiFRhEREREREQlKoVFERERERESCUmgUERERERGRoBQaRUREREREJCiFRhEREREREQnKFu0CtBaHDlUTCJgR2VZGRhKlpVUR2VZ7pX3cOum4hJf2b2zR8Qo/7ePYouMVftrHrVNrOC4Wi0FaWmLQ5xUajwgEzIiFxqPbk/DSPm6ddFzCS/s3tuh4hZ/2cWzR8Qo/7ePWqbUfFzVPFRERERERkaAUGkVERERERCQohUYREREREREJSqFRREREREREglJoFBERERERkaAUGkVERERERCQohUYREREREREJSvM0ioiIiEib4EqOxxl3/Omtu85HZUVtlEok0jYoNIqIiIhIm+CMs3H5jFnHPfb2HydTGaXyiLQVCo0iIiIiIq2Mak2lNVFoFBERERFpZVRrKq2JBsIRERERERGRoBQaRUREREREJCiFRhEREREREQlKoVFERERERESCUmgUERERERGRoBQaRUREREREJCiFRhEREREREQlKoVFERERERESCUmgUERERERGRoBQaRUREREREJCiFRhEREREREQlKoVFERERERESCUmgUERERERGRoBQaRUREREREJCiFRhEREREREQlKoVFERERERESCCmtoPHDgADfffDM33HADN9xwA0VFRRQVFXH11Vdz9dVX8+KLLzYs+9RTTzF16lRuvvlmSkpKAEKyrIiIiIiIiDRfWEPjc889x+WXX84LL7zA1VdfzVNPPcV9993HrbfeyksvvcSHH37Ivn37WLFiBXPnzuXVV1/lu9/9Lo899hhAi5cVERERERGRlrGFc+UZGRls3ryZ2tpaVq9eTZcuXXj//fcZPXo0ACNHjmTJkiXs3r2biRMnYrVaGT58OA8//DB+v58NGza0aNkpU6Y0oaxJIX//p5OV5Yro9toj7ePWScclvLR/Y4uOV/hpH8eWcB2vtvQ5aOl7aUv7oi1p7cclrKHx0ksv5Re/+AUvvPACxcXFXHnllbz55psNzycnJ3Pw4EGqq6vp27cvAIZhUFNTQ21tLTk5OS1atilKS6sIBMwWvNvGy8pyUVxcGZFttVfax62Tjkt4af/GFh2v8NM+ji2hOF7BTrxj8XMQjveiv4nWqTUcF4vFOG0lWlhD4xNPPMG9995L7969qaio4JZbbsHj8TQ8X11djWmaJCUlUVtb2/B4VVUV8fHxLV5WREREREREWiasfRqrqqpYt24dAIsXL8YwDFJSUigqKgJg3bp15OfnM3jwYBYvXgzAjh07SEtLw2q1tnhZERERERERaZmw1jTeeuut/PznP+fBBx8kLy+Phx56iEOHDnHbbbcxZMgQ1q5dy4MPPojT6eSJJ57goYceYvny5dxwww0A3HTTTS1aVkRERETElRyPM+740153nY/KitogrxCRY4U1NPbu3ZvXX3/9pMe7du3KunXruP3220lMTATg+eefZ+7cuVx66aUMHToUgHHjxrV4WRERERFp35xxNi6fMeu4x97+42TUu0+kccIaGoMpLCyksLDwuMccDgfjx48P+bIiIiIiIiLSfGHt0ygiIiIiIiKxTaFRREREREREglJoFBERERERkaAUGkVERERERCQohUYREREREREJSqFRREREREREglJoFBERERERkaAUGkVERERERCQohUYREREREREJSqFRREREREREglJoFBERERERkaAUGkVERERERCQohUYREREREREJSqFRREREREREglJoFBERERERkaAUGkVERERERCQohUYREREREREJyhbtAohI2+ZKjscZ9/VXTVaWC3edj8qK2iiWSiT8TvzsA/rsi4hITFJoFJGwcsbZuHzGrOMee/uPk6mMUnlEIkWffRERaSvUPFVERERERESCUk2jiLQ6atYnIiIi0nooNIpIq6NmfSIiIiKth0KjiMQM1UCKiIiIRJ5Co4jEDNVAioiIiESeBsIRERERERGRoBQaRUREREREJCiFRhEREREREQlKoVFERERERESCUmgUERERERGRoBQaRUREREREJCiFRhEREREREQlKoVFERERERESCUmgUERERERGRoCISGl9//XV+8YtfAFBUVMTVV1/N1VdfzYsvvtiwzFNPPcXUqVO5+eabKSkpCdmyIiIiIiIi0nxhD427d+9m5syZ/OxnPwPgvvvu49Zbb+Wll17iww8/ZN++faxYsYK5c+fy6quv8t3vfpfHHnssJMuKiIiIiEjb4UqOJyvLddw/V3J8tIvV5tnCufJAIMCPf/xjunfvzptvvslll13Ghg0bGD16NAAjR45kyZIl7N69m4kTJ2K1Whk+fDgPP/wwfr+/xctOmTKl0WXNyEgK+fs/nawsV0S31x5pH7duoTw+OtZf075o/Y49Rjpe4ad9HFsifbxi8fPR0jLH4ns+0eUzZh13/+0/TsYZ4++rtR+XsIbGWbNmYRgGP/3pT9m9ezdXXXUVOTk5Dc8nJydz8OBBqqur6du3LwCGYVBTU0NtbW2Ll22K0tIqAgGzJW+30bKyXBQXV0ZkW+2V9nHrEexL8HTHp6lfnDrW9drC596VHI8z7vifJnedj8qK2iiVqPnO9NlvC8ertdM+ji2hOF5t6fejOb+fjVlna37PjRGO/RJtreG4WCzGaSvRwhoa16xZ0xAUc3JySElJYevWrQ3PV1dXY5omSUlJ1NZ+fUJQVVVF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qX1SaBQREYkgjcAcPTrZFWk5XWBqnxQaRSTm6URQRBpDJ7siIs2j0CgiMU8ngqemMC3tVWttAixyIn1Ph06wfSmhodAoItJGKUxLe6UmwBIr2tL3dLRDm/7uw0uhUUREREREWkShrW1TaGwn1PxBpOVC+Xekv8nQiPak0SIiIu2BQmM70ZaaP4hESyj/jvQ3GRrRnjRaRESkPbBEuwAiIiIiIiLSeqmmsRVT8zWR2BftgQHaM32HioiIhIZCYyum5msisU8DA0SPvkNFRERCQ6FRYo5qD0REREREIkehUWKOag9ERERERCJHA+GIiIiIiIhIUAqNIiIiIiIiEpRCo4iIiIiIiASlPo0iIiLSarWHaWs0wJuItHYKjSJthE46RCQcov3d0h6mrdEAbyLS2ik0irQRzTnpiPbJoIi0fgo0IiLN11bOtRQaJarayh9SJIWyqZZOBkVERETCp62cayk0SlS1lT+kSGoPTbUketpD/zERaRxd2BWRoxQaRUSkgS5KSLTogkXrowu7InKUQqOIiIg0SyhronTBQkSk9VJolFZLV51FRFo31USJiLQPCo3Saumqs4iIiIhI9Ck0ioiInIEGBBERkfZMoVFEROQM1AxTRETaM4VGEZF2SH2GRUREpLEUGkVE2iH1GRYREZHGskS7ACIiIiIiItJ6qaZR5BRO1XQP1HxPRERERNofhUaRUzhV0z1Q8z0RERERaX/C2jy1qqqKW265hZtuuokrr7ySDRs2UFRUxNVXX83VV1/Niy++2LDsU089xdSpU7n55pspKSkBCMmyIiIiIiIi0nxhrWmcNWsWkyZNYsKECcydO5fHH3+curo6br31Vi644AK+853vcNFFF7F//37mzp3Lq6++ypIlS3jsscf4zW9+w3333deiZfPy8sL59qJKIx+KiESf5m8UEZH2IKyhcfr06Q23S0tLycrK4sMPP2T06NEAjBw5kiVLlrB7924mTpyI1Wpl+PDhPPzww/j9fjZs2NCiZadMmdLosmZkJIXujTdCVparxa8NxciHLSlHODWnXCe+prW+t2NFooyh2JeRFMptR+p9xFqZW2t5Y/F4BRuF1tlK90uk1hUL37/H0j5umnD+rjRmufa+j1tartb099la93EoX9PYdbWm43IqEenTWFZWxsyZM3n66af58ssvGx5PTk7m4MGDVFdX07dv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\n",
      "text/plain": [
       "<Figure size 1080x576 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, axes = plt.subplots(2, 1, sharex=True, figsize=(15,8))\n",
    "ax1, ax2 = axes.flatten()\n",
    "\n",
    "# 绘制第一张子图：K线图和均线图\n",
    "mpf.candlestick_ochl(ax1, df_arr, width=0.6, colorup = 'r', colordown = 'g', alpha=1.0)\n",
    "\n",
    "ax1.plot(df_arr[:,0], df['MA5'])  # 绘制5日均线\n",
    "ax1.plot(df_arr[:,0], df['MA10'])  # 绘制10日均线\n",
    "\n",
    "ax1.set_title('万科A')  # 设置子图标题\n",
    "ax1.set_ylabel('价格')  # 设置子图Y轴标签\n",
    "ax1.grid(True)\n",
    "ax1.xaxis_date()\n",
    "\n",
    "# 绘制第二张子图：成交量图\n",
    "ax2.bar(df_arr[:,0], df_arr[:,5])  # 绘制成交量柱状图\n",
    "ax2.set_xlabel('日期')  # 设置子图X轴标签\n",
    "ax2.set_ylabel('成交量')  # 设置子图Y轴标签\n",
    "ax2.grid(True)\n",
    "ax2.xaxis_date()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "其中第1-2行代码利用2.3.2节绘制多图相关知识点先构造一个画布和两个子图，这里同时设置sharex参数为True，这样两张子图就可以共用一个坐标轴了；第4-13行绘制第一张子图，其中在子图中设置标题或者坐标轴标题得使用set_title()、set_ylabel()、set_xlabel()这样的函数；第15-20行绘制第二张子图：成交量图，其中df_arr[:,0]表示二维数组的第1列，也即日期那列，df_arr[:,5]表示二维数组的第6列，也即成交量那列数据，然后通过2.3.1节讲过的bar()函数绘制成柱状图。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我们可以和新浪财经网上的实际图像对比一下，如下图所示，发现通过Python绘制的K线图相关图片和网上的图片基本一致。\n",
    "![图片解释](https://uploader.shimo.im/f/BhOBA3Zs73Yy74lA.png!thumbnail)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "至此，数据分析的相关3大武器库已经给大家讲解完毕了，其实关于这三个库还有很多可以挖掘的知识点，由于篇幅有限，这里就不再赘述。这一章内容相对较多，读者朋友可以将这一章当作一个工具章，有需要的时候再返回看看需要用到的知识点。"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
